版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
yml文件配置:
jpa:
database: MYSQL
show-sql: true
hibernate:
ddl-auto: update #validate | update | create | create-drop
naming:
strategy: org.hibernate.cfg.DefaultNamingStrategy
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5Dialect #Hibernate方言
实体类解析
注解 | 作用 |
---|---|
@GeneratorValue | JPA通用策略生成器 |
@entity | 修饰一个实体类,接受一个name属性作为该实体类名称,可省略默认为该类名 |
@Table | 指定持久化类所映射的表名 |
@ID | id |
Dao层:
public interface RoleDao extends JpaRepository<Role, Integer>{
@Query(value="select r.* from t_user u,t_user_role ur,t_role r where u.id=ur.role_id and ur.role_id=r.id and u.user_name=?1",nativeQuery=true)
List<Role> getRolesByUserName(String userName);
}
向较与mybatis的mapper文件映射,这里直接注解作为执行SQL的方法一开始还不太适应…
注解 | 作用 |
---|---|
Query | 查询语句 |
Insert | 增加语句 |
delete | 删除语句 |
Update | 改变语句 |
最后是pom依赖:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- 添加Hibernate依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.10.Final</version>
</dependency>
<!-- 添加Log4J依赖 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.6.4</version>
</dependency>
<!-- 添加javassist -->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.0.GA</version>
</dependency>
<!-- mysql数据库的驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
</dependencies>