草庐IT

Hibernate-Validator

全部标签

java - 如何将数据库生成的列值定义为 JPA 和 Hibernate 中的只读字段?

使用MariaDB10.2可以为日期时间定义默认值,例如创建和最后修改。我应该如何将此列作为只读字段访问?因为这个值应该只在数据库的控制下,不应该从代码中修改,但我想在代码中读取这个属性。 最佳答案 很简单。只需将insertable和updatable属性设置为false。@Column(name="created_on",insertable=false,updatable=false)privateTimestampcreatedOn; 关于java-如何将数据库生成的列值定义为J

java - 带 hibernate 的 MySQL 枚举

我有一个使用枚举的数据库表。这已经在使用hibernate(使用XML),并且我正在尝试将其转换为注释,因为这是仍然使用xml表示法的最后一部分。列定义:enum('Active','Pending','Cancelled','Suspend')以下作品:这不起作用:@Column(name="status")publicStringstatus;注释样式导致启动时出现如下异常:org.hibernate.HibernateException:UserDTO中列状态的列类型错误。发现:枚举,预期:varchar(255)我有什么办法可以像使用XML符号那样强制它接受字符串吗?

java - 组织.hibernate.HibernateException : get is not valid without active transaction

我是Hibernate新手。自动创建hibernate.cfg.xml(Netbeans向导)自动创建HibernateUtil.java自动创建带注释的POJO类尝试从数据库中获取对象但出现错误:Exceptioninthread"pool-1-thread-1"org.hibernate.HibernateException:getisnotvalidwithoutactivetransactionatorg.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadL

java - hibernate 多对多-获取方法渴望与懒惰

Hibernate新手。我有用户组多对多关系。三张表:User、Group和UserGroup映射表。实体:@Entity@Table(name="user")publicclassUser{@Id@Column(name="username")privateStringuserName;@Column(name="password",nullable=false)privateStringpassword;@ManyToMany(cascade={CascadeType.ALL},fetch=FetchType.EAGER)@JoinTable(name="usergroup",jo

java - 在 Hibernate 中获得独特的结果

我们如何通过在hibernate中使用条件来获得不同的结果。 最佳答案 criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);另见https://forum.hibernate.org/viewtopic.php?t=941669 关于java-在Hibernate中获得独特的结果,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

java - Hibernate:不能对 OFFSET 和 LIMIT 使用命名参数吗?

我正在尝试让以下NamedQuery工作:@NamedQuery(name="MyEntity.findByUser",query="SELECTmFROMMyEntitymWHEREm.owner=:userOFFSET:offsetLIMIT:limit")问题是这会导致Hibernate在服务器启动时爆炸并显示以下堆栈跟踪:[INFO][talledLocalContainer]java.lang.NullPointerException[INFO][talledLocalContainer]atorg.hibernate.hql.ast.ParameterTranslation

java - org.hibernate.LazyInitializationException : could not initialize proxy - no Session, encore un fois

Foo看起来有这个:@ManyToManyprivateSetfavouritedBy;当用户有这个时:@ManyToMany(mappedBy="favouritedBy")privateSetfavourites=newHashSet();publicSetgetFavourites(){returnfavourite;}fooService有这个,在打开session时通过事务方法访问延迟加载的集合:@Transactional(readOnly=true)publicSetgetFavourites(Useruser){user=dao.get(User.class,user.

java - 带 ehcache 的 Hibernate 4 是否需要 ehcache-core 库?

我正在尝试将应用程序从Hibernate3升级到Hibernate4。该应用程序使用ehcache。当升级到Hibernate4.2.0.Final时,我按照建议添加了对hibernate-ehcache-4.2.0.Final的依赖。当我启动应用程序时,我收到以下错误:Causedby:java.lang.NoClassDefFoundError:org/hibernate/cache/TimestampsRegion根据http://www.javacraft.org/2012/03/migrate-to-hibernate-4-ehcache.html我应该删除对ehcache-

java - 无法避免 hibernate 记录 SQL 以使用 Spring Boot 和 Logback 进行控制台

尽管使用Logback配置了Hibernate的特定日志记录,但我的SpringBoot应用程序仍然在控制台中显示Hibernate查询,如下所示:${LOGDIR}/hibernate.log%d{yyyy-MM-ddHH:mm:ss}-%msg%n${LOGDIR}/hibernate.log.%d它确实将Hibernate的日志(包括查询)发送到文件hibernate.log。但我也想避免控制台中的查询,我认为这种配置应该发生。我错过了什么? 最佳答案 如果您将hibernate.show_sql设置为true,Hiberna

java - 超过 hibernate 锁等待超时;

我正在使用Hibernate,试图模拟对数据库中同一行的2个并发更新。编辑:我将em1.getTransaction().commit移到了em1.flush()之后;我没有收到任何StaleObjectException,这两个事务已成功提交。Sessionem1=Manager.sessionFactory.openSession();Sessionem2=Manager.sessionFactory.openSession();em1.getTransaction().begin();em2.getTransaction().begin();UserAccountc1=(User