win2003搭建php网站,免费商用图片的网站,有道 wordpress,如何做电影网站挣钱jpa配置映射包当我们最终成熟到可以在JPA中使用某些自定义类型映射时#xff0c;我们通常会停留在某些提供程序特定的解决方案上#xff0c;因为JPA本身并未定义任何用于执行此操作的机制。 让我为您展示一个JPA提供程序Hibernate的自定义类型映射定义的示例。 假设我们在项目… jpa配置映射包 当我们最终成熟到可以在JPA中使用某些自定义类型映射时我们通常会停留在某些提供程序特定的解决方案上因为JPA本身并未定义任何用于执行此操作的机制。 让我为您展示一个JPA提供程序Hibernate的自定义类型映射定义的示例。 假设我们在项目中使用Joda Money 并且拥有一个属性为Money的实体。 Jadira – User Types项目已经提供了非常不错的Money类型映射实现。 我们要做的只是让Hibernate知道我们要使用特定的类型映射。 当您查看Hibernate Docs 第5.1.4.1.1节Type时 您会发现从最简单的方法开始的几种可能性–在每个具有Money类型的属性上使用Type批注。 如果您在域映射中只有一个或很少一个这种类型的属性则此选择可能很好。 很有可能早一点 或以后当您的项目足够增长时将会有越来越多的项目并且最终会出现许多类似的行它们定义了相同的类型映射。 如果您不喜欢重复自己的动作或者您不信任徒弟进行的重构则应该考虑使用另一种方式使用TypeDefs和TypeDef批注。 您可能会在Hibernate文档中阅读到 “这些注释可以放在类或包级别。” 让我们关注第二个选项-包级别。 我们将这些注释放置在package-info.java中用于存放包的域实体请参阅 Java语言规范– 7.4.1。命名包 。 它看起来像这样 /*** Provides the domain model.** author Warlock*/
org.hibernate.annotations.TypeDef(name money, defaultForType Money.class, typeClass PersistentMoneyAmount.class)
package com.blogspot.vardlokkur.domain;import org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyAmount;
import org.joda.money.Money; 现在当您使用Money类型映射属性时无需附加类型映射规范即可完成此操作如下所示 package com.blogspot.vardlokkur.domain;...
import org.joda.money.Money;Entity
Table(name EMPLOYEE)
public class Employee implements Serializable {...
Column(name SALARY)
private Money salary;...} 一个技术说明在成为快乐的Money映射用户之前–由于PersistentMoneyAmount使用单列持有金额进行Money映射因此需要定义将与金额一起使用的货币。 可以将默认货币定义为持久性单元属性 jadira.usertype.currencyCode PS。 不要将上述Money示例作为Joda Money映射的指南可能有更好的方法请参阅Jadira User Types博客 。 甜点的几个链接 在Hibernate中注释自定义类型 Jadira用户类型支持Joda Money 参考 JPA – Hibernate –在Warlocks Thoughts博客上来自我们JCG合作伙伴 Michal Jastak的程序包级别的类型映射 。 翻译自: https://www.javacodegeeks.com/2013/04/jpa-hibernate-type-mapping-on-package-level.htmljpa配置映射包