Hibernate程序运行到org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory 停止

如果一切再重来 如果一切再重来 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
<hibernate-configuration>
<session-factory>

<!-- 配置连接数据库的基本信息 -->
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.url">
jdbc:mysql:///hibernate
</property>
<!-- 省略默认 写法 <property name="hibernate.connection.url"> jdbc:mysql:///book</property> -->
<property name="connection.username">root</property>
<property name="connection.password">mysqlROOT</property>


<!-- 配置Hibernate的基本信息 -->

<!-- 配置Hibernate的方言 为MySQLInnoDBDialect, 在hibernate.properties文件中可以找到常用的配置
如果改成MySQLInnoDBDialect则不能自动建表不知道为什么?? -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

<!-- 执行操作时是否在控制台打印 SQL语句 -->

<property name="hibernate.show_sql">true</property>

<!-- 是否对SQL语句进行格式化 -->

<property name="hibernate.format_sql">true</property>

<!-- 指定自动生成数据表的策略 -->

<property name="hibernate.hbm2ddl.auto">update</property>

<!-- 指定关联的 .hbm.xml文件 -->

<mapping resource="com\xiaoyabin\hiberbate\pojo\Person.hbm.xml" />

</session-factory>
</hibernate-configuration>



person.hbm.xml

<hibernate-mapping>
<class name="com.xiaoyabin.hiberbate.pojo.Person" table="t_person">

<id name="id" type="java.lang.Integer">
<column name="ID" />
<!-- native表示底层数据库自动生成标识符 -->
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<property name="age" type="int">
<column name="AGE" />
</property>
<property name="birthday" type="java.util.Date">
<column name="BIRTHDAY" />
</property>

<!-- Array数组的映射配置,效率低,通常不建议使用 -->
<array name="my_Array" table="t_array">
<!-- key 元素:指定集合属性对应的表的外键列, 指定t_array表的数据与与t_person表的数据的关系 -->
<key column="array_id" not-null="true"></key>
<!-- 数组是有序的,需要保存数据的顺序值,list-index 元素:指定索引列 -->
<list-index column="indexs" base="0"></list-index>
<element column="array_value" type="java.lang.String"></element>
</array>

<!-- List的映射配置 -->
<list name="my_List" table="t_list">
<!-- key 元素:指定集合属性对应的表的外键列, 指定t_list表的数据与与t_person表的数据的关系 -->
<key column="list_id" not-null="true"></key>
<!-- 数组是有序的,需要保存数据的顺序值,list-index 元素:指定索引列 -->
<list-index column="indexs" base="0"></list-index>
<element column="list_value" type="java.lang.String"></element>
</list>

<!-- Map的映射配置 -->
<map name="my_Map" table="t_map">
<!-- key 元素:指定集合属性对应的表的外键列, 指定t_map表的数据与与t_person表的数据的关系 -->
<key column="map_id" not-null="true"></key>
<!-- 存储map的key值,而且map不需要指定顺序,只有key值 -->
<map-key column="key_id" type="java.lang.Integer"></map-key>
<element column="map_value" type="java.lang.String"></element>
</map>

<!-- Set的映射配置,set是无序的,无需list-index属性 -->
<set name="my_Set" table="t_set">
<!-- key 元素:指定集合属性对应的表的外键列, 指定t_set表的数据与与t_person表的数据的关系 -->
<key column="set_id" not-null="true"></key>
<element column="set_value" type="java.lang.String"></element>
</set>


</class>
</hibernate-mapping>



测试代码:
@Before
public void setUp() throws Exception {
System.out.println("------setUp---初始化测试资源-----");
Configuration config = new Configuration().configure();
ServiceRegistry sr = new StandardServiceRegistryBuilder()
.applySettings(config.getProperties()).build();
sessionFactory = config.buildSessionFactory(sr);
session = sessionFactory.openSession();
}

@Test
public void testAdd() {

Person p = new Person();
p.setName("tom2");
p.setAge(12);
p.setBirthday(new java.util.Date());

String[] array = { "A", "B", "C" };
p.setMy_Array(array);

ArrayList<String> list = new ArrayList<String>();
list.add("List!");
list.add("映射");
list.add("测试!");
p.setMy_List(list);

HashMap<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Map!");
map.put(2, "映射!");
map.put(3, "测试!");
p.setMy_Map(map);

HashSet<String> set = new HashSet<String>();
set.add("Set!");
set.add("映射!");
set.add("测试!");
p.setMySet(set);

tx = session.beginTransaction();
session.persist(p);
tx.commit();

}

@Test
public void testGet() {
Person p = (Person) session.get(Person.class, 2);
System.out.println(p);
}

/**
* 释放测试数据
*
* @throws Exception
*/
@After
public void tearDown() throws Exception {
System.out.println("------tearDown---释放测试数据---");
session.close();
sessionFactory.close();
}

Person类:
public class Person {

private Integer id;
private String name;
private int age;
private Date birthday;

private String[] my_Array;
private List my_List;
private Map my_Map;
private Set my_Set;

public String[] getMy_Array() {
return my_Array;
}

public void setMy_Array(String[] my_Array) {
this.my_Array = my_Array;
}

public List getMy_List() {
return my_List;
}

public void setMy_List(List my_List) {
this.my_List = my_List;
}

public Map getMy_Map() {
return my_Map;
}

public void setMy_Map(Map my_Map) {
this.my_Map = my_Map;
}

public Set getMySet() {
return my_Set;
}

public void setMySet(Set mySet) {
this.my_Set = mySet;
}

public Person(String name, int age, Date birthday, String[] my_Array,
List my_List, Map my_Map, Set my_Set) {
super();
this.name = name;
this.age = age;
this.birthday = birthday;
this.my_Array = my_Array;
this.my_List = my_List;
this.my_Map = my_Map;
this.my_Set = my_Set;
}

public Person() {
}

@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", age=" + age
+ ", birthday=" + birthday + "]";
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}

}

请问是为什么呀,小弟初学Hibernate
...全文

相关推荐

JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requ

JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requirements

cdming

基于Matlab的自动睡眠粒状结构检测算法,从脑电信号中进行。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光

JEP375 2.5D_3D Silicon thinned wafers with Through Silicon Vias (TSV’s) and Backside Redistribution

JEP375 2.5D_3D Silicon thinned wafers with Through Silicon Vias (TSV’s) and Backside Redistribution Layer (RDL).pdf

Red Car

考虑供电可靠性与算力柔性的数据中心园区源‑储‑荷一体化规划研究(Matlab代码实现)

考虑供电可靠性与算力柔性的数据中心园区源‑储‑荷一体化规划研究(Matlab代码实现)内容概要:本文围绕“考虑供电可靠性与算力柔性的数据中心园区源-储-荷一体化规划”展开研究,提出了一种综合能源系统优化规划方法。该方法充分考虑数据中心对供电可靠性的高要求以及算力负载的灵活性特征,将电力供应、储能配置与计算负荷进行协同优化。通过建立数学模型,整合光伏发电、储能系统与数据中心负荷调度,利用Matlab代码实现优化求解,旨在提升能源利用效率、降低运营成本并增强系统韧性。研究涵盖了对新能源出力不确定性、负荷波动以及储能动态行为的建模与仿真分析,最终验证了所提一体化规划方案在提高供电可靠性和实现算力资源柔性调度方面的有效性。; 适合人群:具备一定电气工程、能源系统或计算机科学背景,从事数据中心、智能电网、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 为数据中心园区的绿色低碳与高可靠运行提供规划设计方案;② 实现可再生能源的高效消纳与储能系统的优化配置;③ 探索算力作为柔性负荷参与电力系统互动的潜力,支撑新型电力系统建设。; 阅读建议:此资源以Matlab代码为核心,辅以理论模型,建议读者在理解基本原理的基础上,动手运行和调试所提供的代码,通过修改参数和场景设置来深入掌握一体化规划的优化逻辑与关键技术细节。

@橘柑橙柠桔柚

歌曲爆款传播预测数据集10000首曲目Spotify音频特征机器学习

本数据集为合成音乐数据,包含2010至2025年间10000首曲目的Spotify风格音频特征与明确的爆款(viral)目标标签。现有音乐数据集常缺少可用建模目标或存在授权限制,本数据集提供了干净、字段完整、可直接用于监督学习的基准语料。字段涵盖节奏、能量、可舞性、声学度、效价等音频属性,以及曲目元数据与年份信息,目标列viral基于传播表现定义,可直接用于二分类建模。适合开展爆款歌曲预测、音频特征与传播关系分析、年代音乐风格演变可视化、特征重要性排序等分析任务,也可作为分类、回归与特征工程教学的演示数据。数据结构清晰、无缺失值,适合数据科学课程、音乐媒体分析与推荐算法原型验证使用。

licy__
评论 1
收藏 已收藏
分享
返回顶部
如果一切再重来
Web 开发 81,108 成员 341,721 内容