Package Metadata

  • it’s enabled with a file named package-info.java in a particular package directory
애노테이션 글로벌 설정
@org.hibernate.annotations.TypeDefs( {
@org.hibernate.annotations.TypeDef(name = "monetary_amount_usd", typeClass =
MonetaryAmountType.class, parameters = { @Parameter(name = "convertTo", value = "USD") }),
@org.hibernate.annotations.TypeDef(name = "monetary_amount_eur", typeClass =
MonetaryAmountType.class, parameters = { @Parameter(name = "convertTo", value = "EUR") }) })
@org.hibernate.annotations.NamedQueries( { @org.hibernate.annotations.NamedQuery(name =
"findItemsOrderByPrice", query = "select i from Item i order by i.initialPrice)") })
package auction.persistence.types;
  • declares two Hibernate type converters
  • 같은 방법으로 쿼리를 외부화 시키거나 전역 식별자 생성기를 정의할 수 있다.
  • JPA 애노테이션은 package-info.java 파일 안에서 사용할 수 없다.
  • If you need portable global Java Persistence metadata, put it in an orm.xml file.
  • Global annotations (Hibernate and JPA) can also be placed in
    the source code of a particular class, right after the import section.

모르는 것

  • package-info.java는 ‘-‘ 문자 때문에 에러나는데.. 흠;; 어쩌라는 거지?
  • Global 애노테이션을 아무곳에나 놓을 수 있다고? 그럼 package-info.java 파일은 뭐지;; 왜 거기에 넣으라고 한거지?