说明:我到网上找了一下此问题的一些看法,说的是映射文件有问题。在此我帖完整:
LoginAction.java:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response){
LoginForm loginForm = (LoginForm) form;
//下面是获取login.jsp页面来的“用户名”,“密码”
String userName = request.getParameter("userName");
String userPassword = request.getParameter("userPassword");
//创建用户表对象
ZMessageUserDAO zmudao = null;
String hsql = "SELECT USERNAME FROM Z_MESSAGE_USER WHERE USERNAME = '"+ userName +"'";
Session session = HibernateSessionFactory.currentSession();
session.beginTransaction();
Query query = session.createQuery(hsql);
//把查询的存到list中
List nameList = query.list();
//关闭连接
HibernateSessionFactory hsf = null;
zmudao.closeSession(session);
//取出list中的值进行比较
ZMessageUser zmu = null;
Iterator it = nameList.listIterator();
zmu = (ZMessageUser) it.next();
if(userName == zmu.getUsername())
{
if(userPassword == zmu.getUserpassword())
{
return (mapping.findForward("seccess"));
}
else
{
return (mapping.findForward("fault"));
}
}
else
{
return (mapping.findForward("fail"));
}
}
}
ZMessageUser.Hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="com.message.ZMessageUser" table="Z_MESSAGE_USER" schema="system">
<id name="id" type="java.lang.Long">
<column name="ID" precision="9" scale="0" />
<generator class="sequence" />
</id>
<property name="username" type="java.lang.String">
<column name="USERNAME" length="30" />
</property>
<property name="userpassword" type="java.lang.String">
<column name="USERPASSWORD" length="30" />
</property>
<property name="useremail" type="java.lang.String">
<column name="USEREMAIL" length="20" />
</property>
<property name="userrecord" type="java.lang.String">
<column name="USERRECORD" length="8" />
</property>
<property name="usertelephone" type="java.lang.Long">
<column name="USERTELEPHONE" precision="13" scale="0" />
</property>
<set name="ZMessageMes" inverse="true">
<key>
<column name="USERID" precision="9" scale="0" not-null="true" />
</key>
<one-to-many class="com.message.ZMessageMe" />
</set>
</class>
</hibernate-mapping><?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
Hibernate.fcg.xml:
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration> <session-factory>
<property name="connection.username">System</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:admin06</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.password">sql</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="myeclipse.connection.profile">message_oracle</property>
<mapping resource="com/message/ZMessageUser.hbm.xml" />
<mapping resource="com/message/ZMessageMe.hbm.xml" /> </session-factory></hibernate-configuration>
LoginAction.java:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response){
LoginForm loginForm = (LoginForm) form;
//下面是获取login.jsp页面来的“用户名”,“密码”
String userName = request.getParameter("userName");
String userPassword = request.getParameter("userPassword");
//创建用户表对象
ZMessageUserDAO zmudao = null;
String hsql = "SELECT USERNAME FROM Z_MESSAGE_USER WHERE USERNAME = '"+ userName +"'";
Session session = HibernateSessionFactory.currentSession();
session.beginTransaction();
Query query = session.createQuery(hsql);
//把查询的存到list中
List nameList = query.list();
//关闭连接
HibernateSessionFactory hsf = null;
zmudao.closeSession(session);
//取出list中的值进行比较
ZMessageUser zmu = null;
Iterator it = nameList.listIterator();
zmu = (ZMessageUser) it.next();
if(userName == zmu.getUsername())
{
if(userPassword == zmu.getUserpassword())
{
return (mapping.findForward("seccess"));
}
else
{
return (mapping.findForward("fault"));
}
}
else
{
return (mapping.findForward("fail"));
}
}
}
ZMessageUser.Hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="com.message.ZMessageUser" table="Z_MESSAGE_USER" schema="system">
<id name="id" type="java.lang.Long">
<column name="ID" precision="9" scale="0" />
<generator class="sequence" />
</id>
<property name="username" type="java.lang.String">
<column name="USERNAME" length="30" />
</property>
<property name="userpassword" type="java.lang.String">
<column name="USERPASSWORD" length="30" />
</property>
<property name="useremail" type="java.lang.String">
<column name="USEREMAIL" length="20" />
</property>
<property name="userrecord" type="java.lang.String">
<column name="USERRECORD" length="8" />
</property>
<property name="usertelephone" type="java.lang.Long">
<column name="USERTELEPHONE" precision="13" scale="0" />
</property>
<set name="ZMessageMes" inverse="true">
<key>
<column name="USERID" precision="9" scale="0" not-null="true" />
</key>
<one-to-many class="com.message.ZMessageMe" />
</set>
</class>
</hibernate-mapping><?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
Hibernate.fcg.xml:
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration> <session-factory>
<property name="connection.username">System</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:admin06</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.password">sql</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="myeclipse.connection.profile">message_oracle</property>
<mapping resource="com/message/ZMessageUser.hbm.xml" />
<mapping resource="com/message/ZMessageMe.hbm.xml" /> </session-factory></hibernate-configuration>
解决方案 »
- 如何读懂Java源包
- myeclipse8.5中ssh整合需要jar包
- 我配置服务器时addtomcat5.5点finish时出现错误:
- 报错
- iBatis iterator 问题
- 关于设计报表问题?请大家指点下>....................
- 请问: TOMCAT 5..0 中哪里存放SERVLET.JAR ? 谢谢!
- 浏览器提示:不支持嵌入式框架,或被配置为不显示嵌入式框架,请问怎么显示呀?
- 请教高手,多个虚拟机同时读同一张表,如何保证不重复读呢
- ejb3.ejbgrpx": <Warning> <EJB> <EJB Deployment: ejb3 has a class ejb3.ejb3 which is in the classpath,一个EJB的错误,50分相送!
- 做软件外包,能学到很多东西吗?
- 如何用socket验证http代理是否可用!
{
if(userPassword == zmu.getUserpassword())
{
字符串比较用什么?先改基本的吧
== 是有一个缓冲池 谢谢
“anchor1”兄你说的没匹配我倒要好好检查下,谢谢
<key>
<column name="USERID" precision="9" scale="0" not-null="true" />
</key>
<one-to-many class="com.message.ZMessageMe" />
</set>
Caused by: org.hibernate.DuplicateMappingException: Duplicate collection role mapping com.message.ZMessageUser.ZMessageMes
ZMessageMes 是大小写问题吗?
org.hibernate.PropertyNotFoundException: Could not find a getter for zmessageuser in class com.message.ZMessageMe
at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:213)
at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:207)
at org.hibernate.mapping.Property.getGetter(Property.java:240)
at org.hibernate.tuple.PojoTuplizer.buildPropertyGetter(PojoTuplizer.java:237)
at org.hibernate.tuple.AbstractTuplizer.<init>(AbstractTuplizer.java:73)
at org.hibernate.tuple.PojoTuplizer.<init>(PojoTuplizer.java:54)
at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:47)
at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:218)
at org.hibernate.persister.entity.BasicEntityPersister.<init>(BasicEntityPersister.java:400)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:104)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:211)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1005)
我是才学hibernate,我知道什么都拿出来问不好,所以我从现在起要好好看一下hibernate的结构,不过当然希望各位耐心教导一下,谢谢!
* AbstractZMessageMe generated by MyEclipse - Hibernate Tools
*/public abstract class AbstractZMessageMe implements java.io.Serializable {
// Fields private Long mid;
private ZMessageUser ZMessageUser;
private String mtitle;
private String mcontent;
// Constructors /** default constructor */
public AbstractZMessageMe() {
} /** minimal constructor */
public AbstractZMessageMe(ZMessageUser ZMessageUser) {
this.ZMessageUser = ZMessageUser;
}
/** full constructor */
public AbstractZMessageMe(ZMessageUser ZMessageUser, String mtitle, String mcontent) {
this.ZMessageUser = ZMessageUser;
this.mtitle = mtitle;
this.mcontent = mcontent;
}
// Property accessors public Long getMid() {
return this.mid;
}
public void setMid(Long mid) {
this.mid = mid;
} public ZMessageUser getZMessageUser() {
return this.ZMessageUser;
}
public void setZMessageUser(ZMessageUser zmessageuser) {
this.ZMessageUser = zmessageuser;
} public String getMtitle() {
return this.mtitle;
}
public void setMtitle(String mtitle) {
this.mtitle = mtitle;
} public String getMcontent() {
return this.mcontent;
}
public void setMcontent(String mcontent) {
this.mcontent = mcontent;
}
}
package com.message;import java.util.HashSet;
import java.util.Set;
/**
* AbstractZMessageUser generated by MyEclipse - Hibernate Tools
*/public abstract class AbstractZMessageUser implements java.io.Serializable {
// Fields private Long id;
private String username;
private String userpassword;
private String useremail;
private String userrecord;
private Long usertelephone;
private Set ZMessageMes = new HashSet(0);
// Constructors /** default constructor */
public AbstractZMessageUser() {
}
/** full constructor */
public AbstractZMessageUser(String username, String userpassword, String useremail, String userrecord, Long usertelephone, Set ZMessageMes) {
this.username = username;
this.userpassword = userpassword;
this.useremail = useremail;
this.userrecord = userrecord;
this.usertelephone = usertelephone;
this.ZMessageMes = ZMessageMes;
}
// Property accessors public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
} public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
} public String getUserpassword() {
return this.userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
} public String getUseremail() {
return this.useremail;
}
public void setUseremail(String useremail) {
this.useremail = useremail;
} public String getUserrecord() {
return this.userrecord;
}
public void setUserrecord(String userrecord) {
this.userrecord = userrecord;
} public Long getUsertelephone() {
return this.usertelephone;
}
public void setUsertelephone(Long usertelephone) {
this.usertelephone = usertelephone;
} public Set getZMessageMes() {
return this.ZMessageMes;
}
public void setZMessageMes(Set zmessagemes) {
this.ZMessageMes = zmessagemes;
}
}