Tag: hibernate

Spring启动+ Spring数据JPA +二级缓存给出mutate错误

我正在使用Spring Boot和Spring数据JPA获得多个数据源的应用程序。 我得到以下exceptionhibernate.cache.region.factory_class没有设置,虽然我在代码中设置它。 Spring Boot在我设置之前检查它,或者无法读取我的设置。 caused by: org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used in the application, but property hibernate.cache.region.factory_class is not given; please either disable second level cache or set correct region factory using the hibernate.cache.region.factory_class setting and make sure the second level cache provider (hibernate-infinispan, eg) is available on the classpath. at org.hibernate.cache.internal.NoCachingRegionFactory.buildEntityRegion(NoCachingRegionFactory.java:83) at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:364) […]

无法检索PlatformTransactionManager以进行测试上下文的@Transactional测试

当尝试在事务之间测试Hibernate(版本4)EHCache的缓存function时 – 它失败: Failed to retrieve PlatformTransactionManager for @Transactional test for test context 。 测试 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { ApplicationConfig.class, CachingConfig.class }, loader = AnnotationConfigContextLoader.class) @PersistenceContext @Transactional public class EHCacheTest extends AbstractTransactionalJUnit4SpringContextTests { @Autowired private SessionFactory sessionFactory; @Test public void testTransactionCaching(){ Session session = sessionFactory.getCurrentSession(); System.out.println(session.get(CustomerEntity.class, 1)); Query query = session.createQuery(“from CustomerEntity where CustomerEntity.customerId<10").setCacheable(true).setCacheRegion("customer"); @SuppressWarnings("unchecked") […]

在哪里可以找到所有Hibernate事件的完整(!)列表?

Hibernate通过监听器接口支持多个事件。 我可以在API文档中找到所有接口。 但我找不到相应事件名称的完整列表。 知道在哪里看?

Netbeans Hibernate映射文件中的NullPointerException和Firebird数据库中的POJO向导

我正在使用netbeans,hibernate和firebird开发桌面应用程序。 该向导不会给我创建文件hibernate.cfg.xml或HibernateUtil.java带来麻烦 但是通过尝试:New – > Other – > Hibernate – > Hibernate Mapping Files和来自Database的POJO,使用我的hibernate.cfg.xml和hibernate.reveng.xml向导抛出exception: Hibernate配置失败,并显示消息:java.lang.NullPointerException message.log请参阅exception以获取详细信息。 我正在使用 产品版本:NetBeans IDE 7.2.1(Build 201210100934) Java:1.7.0_11; Java HotSpot(TM)客户端VM 23.6-b04 系统:在x86上运行的Windows XP 5.1; CP1252; es_ES(nb) Firebird版本:2.1.1 的hibernate.cfg.xml org.hibernate.dialect.FirebirdDialect org.firebirdsql.jdbc.FBDriver jdbc:firebirdsql://ip_from_my_server:3050/path_to_my_database.gdb sysdba masterkey HibernateUtil.java /* * To change this template, choose Tools | Templates * and open the template in the […]

使用更新Cascade进行hibernate软删除

如果我有3个相互连接的类。 房间等级 @Entity @Table(name=”table_room”) Class Room{ @Id @GeneratedValue @Column(name=”id_room”) private Integer id; @Column(name=”name”) private String name; @OneToMany(mappedBy=”room”) private List people; @Column(name=”deleted”) private int deleted; } 人类 @Entity @Table(name=”table_person”) Class Person{ @Id @GeneratedValue @Column(name=”id_person”) private Integer id; @Column(name=”name”) private String name; @ManyToOne @JoinColumn(name=”id_room”) private Room room; @OneToMany(mappedBy=”person”) private List phones; @Column(name=”deleted”) private int deleted; } 然后是电话课 […]

LocalDateforms

我有一个关于Spring + Thymeleaf日期格式的问题。 我有一个带有LocalDate date字段的简单实体。 我希望从表单中的用户获取此日期并将其保存到MySQL数据库。 我收到这样的错误: 无法将类型为java.lang.String的属性值转换为属性日期所需的类型java.time.LocalDate; 嵌套exception是org.springframework.core.convert.ConversionFailedException:无法从类型java.lang.String转换为类型java.time.LocalDate,值为2019-04-30; 嵌套exception是java.time.format.DateTimeParseException:无法在索引2处解析文本2019-04-30 我的实体: @Entity @Table(name=”game”) public class Game{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; @Transient private User gameOwner; private LocalDate date; private LocalTime time; //other fields Thymeleaf观点/forms: Date: 这个问题的原因是什么? 也许还有其他更好的存储日期方式?

如何编写HQL插入查询?

我正在努力编写一个HQL查询来在表中插入新记录。 我已经看到了一些插入查询,如下所示,但我不希望从另一个表插入数据,如下面的代码。 String hql = “INSERT INTO Employee(firstName, lastName, salary)” + “SELECT firstName, lastName, salary FROM old_employee”; Query query = session.createQuery(hql); int result = query.executeUpdate(); System.out.println(“Rows affected: ” + result); 例如,我有一个表“User”,有三个字段,如姓名,年龄,数字,我有这个用户表的实体。 什么是插入查询?

在运行时获取有关entites的hibernate信息

我正在寻找一种方法来在运行时获取有关我的hibernate实体类的信息。 详细地说,我需要像这样的信息 ABC类具有属性a,b和c,c是列表和与XYZ类的关联 为了上课 public class ABC { private int a; private String b; @OneToMany Private List c; } 运行时需要的一切。 我确信Hibernate在运行时知道所有这些,但我不知道如何获取这些信息。

准备好的声明不会逃避撇号

我正在使用从hibernate获取的JDBC连接对象来执行浴更新,我这样做是因为我需要使用MySql ON DUPLICATEfunction。 但是,当试图插入时,我无法插入说字符串有特殊字符, Session session = sessionFactory.openSession(); PreparedStatement pstm = null; Connection conn = session.connection(); try { IRKeyWordTweet record = null; conn.setAutoCommit(false); for (Iterator itrList = statusToInsert.iterator(); itrList.hasNext();) { try { record = (IRKeyWordTweet) itrList.next(); pstm = (PreparedStatement) conn.prepareStatement(“INSERT QUERY”); System.err.println(record.getTwtText()); //tweetId pstm.setLong(1, record.getTweetId()); Setters For Prepared statement…. pstm.addBatch(); int[] updateCounts = pstm.executeBatch(); } […]

Hibernate删除查询的顺序

这是我的数据模型(简化), public class AddressBook { private List groups = new ArrayList(); private List peoples = new ArrayList(); @OneToMany(mappedBy = “addressbook”, cascade = CascadeType.ALL, fetch = FetchType.LAZY) @OnDelete(action = OnDeleteAction.CASCADE) @Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN) public List getGroups() { return groups; } @OneToMany(mappedBy = “addressbook”, cascade = CascadeType.ALL, fetch = FetchType.LAZY) @OnDelete(action = OnDeleteAction.CASCADE) @Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN) public List getPeoples() { return […]