왜 javax.money.CurrencyUnit
은 java.io.Serializable
에서 연장되지 않습니까?javax.money.CurrencyUnit이 Serializable이 아닌 이유는 무엇입니까?
[INFO] Class com.mycompany.SiteEntity defines non-transient non-serializable instance field defaultCurrency [com.mycompany.SiteEntity] In SiteEntity.java
[INFO] Class com.mycompany.SiteEntity defines non-transient non-serializable instance field supportedCurrencies [com.mycompany.SiteEntity] In SiteEntity.java
[INFO] Class com.mycompany.UserEntity defines non-transient non-serializable instance field sessionCurrency [com.mycompany.UserEntity] In UserEntity.java
이 하나가를 사용해야한다는 뜻 : 때문에 부속 유형의 모든 java.io.Serializable
을 구현하고, 당신이 당신의 최대 절전 모드 매핑에 사용하려는 경우 그 꼭대기에, 다음 findbugs는 (매우 정확하게) 당신을 막을 것 최대 절전 모드 매핑에서 클래스 JDKCurrencyAdapter
? 차라리 인터페이스를 사용하는 편이 낫지 만 가능하지 않다면 클래스를 사용합니다.
아마도 CurrencyUnit은 인터페이스이기 때문에 다른 인터페이스를 확장하므로 이미 다른 인터페이스를 확장 할 수 없습니다. 사용자 지정 클래스에서 항상 래핑 할 수 있으며 Serializable을 구현할 수 있습니다. – SnakeDoc
좋은 질문입니다. 특히 CurrencyUnit은 모든 구현이 직렬화 가능해야한다고 말합니다. (serialization을 제공하는 플랫폼에서) * https://github.com/JavaMoney/jsr354-api/pulls에서이 질문을 할 수 있습니다. – wero
@wero * 구현 *는 직렬화 가능해야합니다. OP의 주목할 점은 모든 하위 유형이 실제로 Serializable을 확장 (또는 구현)하므로 OP의 사용자 정의 클래스가 Serializable을 구현해야한다는 점입니다. – SnakeDoc