67,538
社区成员
发帖
与我相关
我的任务
分享
Hibernate: select messages0_.ID as ID2_, messages0_.AccountId as AccountId2_, messages0_.MessagesId as MessagesId2_, messages0_.time as time2_, messages0_.Title as Title2_, messages0_.Content as Content2_ from mbdata.dbo.Messages messages0_
Exception in thread "main" java.lang.NumberFormatException: For input string: "MIBO01"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at com.microsoft.sqlserver.jdbc.DDC.convertStringToObject(Unknown Source)
at com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(Unknown Source)
at com.microsoft.sqlserver.jdbc.DTV.getInt(Unknown Source)
at com.microsoft.sqlserver.jdbc.Column.getInt(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
at org.hibernate.type.IntegerType.get(IntegerType.java:28)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)
at org.hibernate.type.ManyToOneType.hydrate(ManyToOneType.java:95)
at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:1899)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1372)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1300)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at test.Test.main(Test.java:19)
--账号
create table Account(
ID int identity(1,1) primary key,--用户编号
AccountId varchar(20) unique not null,
Name varchar(50) not null,--用户姓名
Password varchar(30) not null,--密码
Marker varchar(1) not null default 'C', --禁用标识(标识该账号为员工所有还在注册用户或企业所有)(值:M or C or S)M为本公司员工 C为个人S为企业
Check (Marker='C'or Marker='S'or Marker='M'),)
set identity_insert Account on,
insert into Account (ID,AccountId,Name,Password,Marker) values (1,'MIBO01','admin','admin','M')
set identity_insert Account off
--发帖
create table Messages(
ID int identity(1,1) primary key,
MessagesId varchar(20) unique not null,
AccountId varchar(20) not null,
[time] datetime not null,
Title varchar(50) not null ,
[Content] varchr(1000) not null default '如题',
constraint FK_Messages_Account foreign key (AccountId) references Account (AccountId),
)
set identity_insert Messages on,
insert into Messages(ID,MessagesId,AccountId,[Time],Title) values (1,'MESS01','MIBO01','2008-11-20','哇 出问题啦')
set identity_insert Messages off
<class name="vo.Account" table="Account" schema="dbo" catalog="mbdata">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native" />
</id>
<set name="messageses" inverse="true">
<key >
<column name="AccountId" length="20" not-null="true" />
</key>
<one-to-many class="vo.Messages" />
</set>
<class name="vo.Messages" table="Messages" schema="dbo" catalog="mbdata">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native" />
</id>
<many-to-one name="account" class="vo.Account" fetch="select">
<column name="AccountId" length="20" not-null="true" />
</many-to-one>
System.out.println(HibernateSessionFactory.getSession().createQuery("from Messages").list().size());