Hibernate(JAVA)面试题
Hibernate (JAVA)面试题
一、简述Hibernate作用?
O/R Mapping(对象关系映射)
将工作量降低95%
二、简述核心配置文件及作用?
l:数据库的连接、批量处理、加载二级缓存驱动、显示sql
*.l:将一个表与类相映射、二级缓存的方式
三、简述核心接口、类组成及作用?
linux查询各文件夹大小类:
Configuration:读取l及*..l文件
接口:
SessionFactory:产生具体的session
Session:做具体的操作
save
update
saveOrUpdate:有主键修改,没主键增加
delete
load
Transaction :事务处理
Transaction trans=session.beginTransaction();
www.doczj/doc/602054178.html,mit();
llback();
Query:执行查询
mysql面试题基础//hql,类及属性是对象
Query ateQuery("from Customer where customerid=:aa")
query.setString("aa","aa")
List list=query.list();
Validator:在做之前进行拦截,在处理之前进行校验
Lifecycle:,可以增加、修改、查询等之前触发,但其让数据类与hibernate 的藕合度增加,一般不用。
public class Users implements Validator,Lifecycle
{
}
interceptor:,其比Lifecycle更加的优秀,不用每个数据类去实现一些接口,而是在产生session时将其注入到session中。其可以增加、修改、查询等之前触发,但其中的session不可以重用,可以用上一个session的connection,不用管事务,因为事务已被前一个session实现。
四、简述关联组成及作用?
one-to-many:
get/set方法:
一方通过get方法可以取出另一方,另一方也可以通过get方法取出对方,所以在one这边有一个Set属性可以得到所有的many,many这边有一个One类型的属性可以取出one
inverse:主控方,维护外键值,说明外键列由谁来控制,要想维护外键列的值必须将被控方作为主控方的属性,主控方一般在many方。
inverse=false 是主控方,外键是由它控制的
inverse=true 是被控方,外键与它没关系
cascade:级联,要想实现级联必须将从对象作为主对象的属性。
主表增从表增
主表修从表修
主表删从表删
lazy:延迟
lazy=false:不但取当前对象,还取其关联的所有内容
lazy=true:只取当前对象不取关联对象的属性,当真正用到对方属性时才执行sql加载相应的值
五、简述批量删除?
前端需要学数据库吗?Query ateQuery("update"或"delete");
uteUpdate();
不同步缓存
六、简述Tomcat连接池作用及实现步骤?
在容器中预先产生了n个连接实例,客户端不用重新实例化,可以直接取,用完后还可以放回去。
步骤:
1、将sql-server三个包拷贝到C:\tomcat-6\lib下目录下
2、修改C:/tomcat-6/l为以下内容
<="" auth="Container" bdsfid="121" driverclassname="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxactive="100" maxi
dle="30" maxwait="10000" name="jdbc/sqlserver" p="" password="" type="javax.sql.DataSource" username="sa">
url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs;selectMethod=cursor"/>
3、jdbc测试代码
Context initCtx = new InitialContext();
//进入连接池环境
Context envCtx = (Context)initCtx.lookup("java:comp/env");
//得到一个连接池
ds = (DataSource)envCtx.lookup("jdbc/sa");
//得到连接
Connection conn = ds.getConnection();
4、hibernate通过连接池实现连接
java:comp/env/jdbc/sa
导轨分体滑块true
<property< bdsfid="141" p=""></property<>
name="dialect">org.hibernate.dialect.SQLServerDialect
5、spring调用tomcat中的连接池
java:comp/env/jdbc/name
七、简述hibernate中的主键生成机制?
1、Assigned:手动给定
2、identity:sqlserver、db2、mySql的自动增加
3、sequence:oracle的序列
4、native:自动选择identity、sequence,不用手动给定
5、uuid.hex:Hibernate基于128位唯一值产生算法生成16 进制数值
八、简述数据库开发的过程?
外模型
以客户为中心,客户可以看懂。
概念模型
以外模型作为输入,适应开发的进一步细化,是外模型全集
注意事项:
符合需求
速度
冗余
开发的难度
内模型
数据库
九、简述e-r图设计的过程?
实体
拉关系
写属性
十、简述三级范式?
主键
完全依赖于主键
不出现传递依赖
十一. 简述对象的三大状态?
自由(transient)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论