我对Hibernate相当新手。我想映射一些对象,让我们说String到一个mysql日期(这是一个没有时间或时区的日期)。我认为这将是相当直接的。但我似乎无法找到一个好的解决方案。
在我的实际应用中,我没有使用String。我想在JSR 310中使用类似LocalDate的东西或我自己的简单月份 - 日期 - 年三元组类型。
我真的......真的不想写一些内部的setter或getter,它将我的简单对象转换为java.sql.Date或java.util.Date,因为:
我认为底层问题是JDBC驱动程序可能只能将核心java Date类映射到mysql日期类型???
答案 0 :(得分:2)
我建议您查看现有的解决方案,看看是否也不能:
http://joda-time.sourceforge.net/contrib/hibernate/index.html
我个人推荐Joda Time来满足您的时间/日期需求,而且已经有了Hibernate桥接器。除非您使用Joda Time,否则请查看上面的URL,以及hibernate网桥的代码,作为编写转换器的说明。
答案 1 :(得分:0)
由于您的日期列有String,我想除了添加帮助方法进行转换之外没有任何出路。但是,当涉及时区时,最好以毫秒(长)传递日期,这可以很容易地用于创建Date对象。然后可以根据需要应用时区。因此,使用标准的Date类,它具有与mysql日期类型的映射。