Java 懒惰加载奇怪的行为

Java 懒惰加载奇怪的行为,java,hibernate,spring,jpa,lazy-loading,Java,Hibernate,Spring,Jpa,Lazy Loading,我正在用SpringMVC[Layers:Controller->Service->DAO->Entities]创建web应用程序,我遇到了一个延迟加载的问题,这让我很困惑。一般来说,有以下关系。我有一个帐户[实体],它可以有许多单词[实体],许多单词可以分配给许多帐户,因此这是@ManyToMany 账户主体 @Entity @Table(name = "account") @Inheritance(strategy = InheritanceType.JOINED) publ

我正在用SpringMVC[Layers:Controller->Service->DAO->Entities]创建web应用程序,我遇到了一个延迟加载的问题,这让我很困惑。一般来说,有以下关系。我有一个帐户[实体],它可以有许多单词[实体],许多单词可以分配给许多帐户,因此这是@ManyToMany

账户主体

  @Entity
  @Table(name = "account")
  @Inheritance(strategy = InheritanceType.JOINED)
  public class Account {

  ...

  @ManyToMany(cascade=CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = Word.class)
  @JoinTable(name = "account_word", joinColumns = {@JoinColumn(name="account_id")}, inverseJoinColumns = {@JoinColumn(name="word_id")})
  private List<Word> words;

  public List<Word> getWords() {
      return words;
  }

  public void setWords(List<Word> words) {
      this.words = words;
  }
  }
  @Entity
  @Table(name = "word")
  @Inheritance(strategy = InheritanceType.JOINED)
  public class Word {

  ...

  @Basic
  @NotBlank
  @Column(name = "word")
  private String word;

  @ManyToMany(cascade=CascadeType.ALL, fetch = FetchType.LAZY)
  @JoinTable(name = "account_word", joinColumns = {@JoinColumn(name="word_id")}, inverseJoinColumns = {@JoinColumn(name="account_id")})
  private List<Account> accounts;

  public List<Account> getAccounts() {
      return accounts;
  }

  public void setAccounts(List<Account> accounts) {
      this.accounts = accounts;
  }

  ...

  }
只是为了测试,但它的发生至关重要!没有它,我会变得懒洋洋的初始化异常,我找不到发生这种情况的原因。当我评论这个片段时,我得到:

  [StatefulPersistenceContext] - initializing non-lazy collections
  [Loader] - loading collection: [model.Account.roles#104]
  [AbstractBatcher] - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
  [SQL] - select roles0_.account_id as account2_9_1_, roles0_.role_id as role1_1_, role1_.role_id as role1_10_0_, role1_.name as name10_0_ from account_role roles0_ inner join role role1_ on roles0_.role_id=role1_.role_id where roles0_.account_id=?
  Hibernate: select roles0_.account_id as account2_9_1_, roles0_.role_id as role1_1_, role1_.role_id as role1_10_0_, role1_.name as name10_0_ from account_role roles0_ inner join role role1_ on roles0_.role_id=role1_.role_id where roles0_.account_id=?
  [AbstractBatcher] - about to open ResultSet (open ResultSets: 0, globally: 0)
  [Loader] - result set contains (possibly empty) collection: [model.Account.roles#104]
  [Loader] - result row: EntityKey[model.Role#2]
  [Loader] - found row of collection: [model.Account.roles#104]
  [AbstractBatcher] - about to close ResultSet (open ResultSets: 1, globally: 1)
  [AbstractBatcher] - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
  [TwoPhaseLoad] - resolving associations for [model.Role#2]
  [TwoPhaseLoad] - done materializing entity [model.Role#2]
  [loading.CollectionLoadContext] - 1 collections were found in result set for role: model.Account.roles
  [loading.CollectionLoadContext] - collection fully initialized: [model.Account.roles#104]
  [loading.CollectionLoadContext] - 1 collections initialized for role: model.Account.roles
  [Loader] - done loading collection
  [org.springframework.orm.jpa.JpaTransactionManager] - Initiating transaction commit
  [org.springframework.orm.jpa.JpaTransactionManager] - Committing JPA transaction on EntityManager [ejb.EntityManagerImpl@6f76dd71]
  [transaction.JDBCTransaction] - commit
  [event.def.AbstractFlushingEventListener] - processing flush-time cascades
  [event.def.AbstractFlushingEventListener] - dirty checking collections
  [Collections] - Collection found: [model.Account.roles#104], was: [model.Account.roles#104] (initialized)
  [Collections] - Collection found: [model.Account.words#104], was: [model.Account.words#104] (uninitialized)
  [Collections] - Collection found: [model.Role.accounts#2], was: [model.Role.accounts#2] (uninitialized)
  [event.def.AbstractFlushingEventListener] - Flushed: 0 insertions, 0 updates, 0 deletions to 2 objects
  [event.def.AbstractFlushingEventListener] - Flushed: 0 (re)creations, 0 updates, 0 removals to 3 collections
  [pretty.Printer] - listing entities:
  [pretty.Printer] - model.Role{accounts=<uninitialized>, name=ROLE_REGISTERED, roleId=2}
  [pretty.Printer] - model.Account{username=mgrodek, registrationDate=2012-01-07 23:15:38.464, accountId=104, words=<uninitialized>, email=mariusz.grodek@gmail.com, roles=[model.Role#2], password=ffd1245c1e1cd7ed0af442ecc9a019e58ff2cbbe4d465b5dc4dc6b8bee16a2bf}
  [transaction.JDBCTransaction] - re-enabling autocommit
  [transaction.JDBCTransaction] - committed JDBC Connection
  [ConnectionManager] - aggressively releasing JDBC connection
  [ConnectionManager] - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
  [com.mchange.v2.resourcepool.BasicResourcePool] - trace com.mchange.v2.resourcepool.BasicResourcePool@4ecb36fa [managed: 5, unused: 4, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@791d9ad)
  [org.springframework.orm.jpa.JpaTransactionManager] - Closing JPA EntityManager [ejb.EntityManagerImpl@6f76dd71] after transaction
  [org.springframework.orm.jpa.EntityManagerFactoryUtils] - Closing JPA EntityManager
  [org.springframework.security.web.context.SecurityContextPersistenceFilter] - SecurityContextHolder now cleared, as request processing completed
  [org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter] - Closing JPA EntityManager in OpenEntityManagerInViewFilter
  [org.springframework.orm.jpa.EntityManagerFactoryUtils] - Closing JPA EntityManager
  2012-02-02 29 org.apache.catalina.core.StandardWrapperValve invoke
  SEVERE: Servlet.service() for servlet [sndServlet] in context with path [/snd] threw exception [Request processing failed; nested exception is LazyInitializationException: failed to lazily initialize a collection of role: model.Account.words, no session or session was closed] with root cause
  LazyInitializationException: failed to lazily initialize a collection of role: model.Account.words, no session or session was closed
    at collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:383)
    at collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:375)
    at collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:368)
    at collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:111)
   ...
[StatefulPersistenceContext]-初始化非惰性集合
[Loader]-加载集合:[model.Account.roles#104]
[AbstractBatcher]-即将打开PreparedStatement(打开PreparedStatements:0,全局:0)
[SQL]-选择角色0。帐户id为帐户2。角色0。角色id为角色1。角色1。角色id为角色1。角色1。角色id为角色1。角色10。角色0。角色1。名称为名称10。角色0。内部联接角色角色1。角色0。角色id=角色1。角色id,其中角色0。帐户id=?
休眠:选择角色0。角色id作为角色2。角色9。角色1。角色id作为角色1。角色1。角色id作为角色1。角色10。角色0。角色id作为角色1。角色1。角色id作为角色10。角色0。角色id=?
[AbstractBatcher]-即将打开结果集(打开结果集:0,全局:0)
[Loader]-结果集包含(可能为空)集合:[model.Account.roles#104]
[Loader]-结果行:EntityKey[model.Role#2]
[Loader]-找到集合的行:[model.Account.roles#104]
[AbstractBatcher]-即将关闭结果集(打开结果集:1,全局:1)
[AbstractBatcher]-即将关闭PreparedStatement(打开PreparedStatements:1,全局:1)
[TwoPhaseLoad]-解析[model.Role#2]的关联
[TwoPhaseLoad]-完成实体化[model.Role#2]
[loading.CollectionLoadContext]-在角色的结果集中找到1个集合:model.Account.roles
[loading.CollectionLoadContext]-集合已完全初始化:[model.Account.roles#104]
[loading.CollectionLoadContext]-为角色初始化1个集合:model.Account.roles
[加载程序]-完成加载收集
[org.springframework.orm.jpa.JpaTransactionManager]-启动事务提交
[org.springframework.orm.jpa.JpaTransactionManager]-在EntityManager[ejb]上提交jpa事务。EntityManagerImpl@6f76dd71]
[transaction.JDBCTransaction]-提交
[event.def.AbstractFlushingEventListener]-处理刷新时间级联
[event.def.AbstractFlushingEventListener]-脏检查集合
[集合]-找到的集合:[model.Account.roles#104],是:[model.Account.roles#104](已初始化)
[Collections]-找到的集合:[model.Account.words#104],是:[model.Account.words#104](未初始化)
[集合]-找到的集合:[model.Role.accounts#2],是:[model.Role.accounts#2](未初始化)
[event.def.AbstractFlushingEventListener]-刷新:0次插入,0次更新,0次删除2个对象
[event.def.AbstractFlushingEventListener]-刷新:0(重新)创建,0次更新,0次删除到3个集合
[pretty.Printer]-列出实体:
[pretty.Printer]-model.Role{accounts=,name=Role\u REGISTERED,roleId=2}
[pretty.Printer]-model.Account{username=mgrodek,registrationDate=2012-01-07 23:15:38.464,accountId=104,words=,email=mariusz。grodek@gmail.com,roles=[model.Role#2],password=FFD1245C1E1CD7ED0AF442EC9A019E58FF2CBBE4D465B5DC4DC6B8BEE16A2BF}
[transaction.jdbctransation]-重新启用自动提交
[transaction.jdbctransation]-提交的JDBC连接
[ConnectionManager]-积极释放JDBC连接
[ConnectionManager]-释放JDBC连接[(打开PreparedStatements:0,全局:0)(打开结果集:0,全局:0)]
[com.mchange.v2.resourcepool.BasicResourcePool]-trace com.mchange.v2.resourcepool。BasicResourcePool@4ecb36fa[管理:5,未使用:4,排除:0](例如com.mchange.v2.c3p0.impl。NewPooledConnection@791d9ad)
[org.springframework.orm.jpa.JpaTransactionManager]-关闭jpa EntityManager[ejb。EntityManagerImpl@6f76dd71]交易后
[org.springframework.orm.jpa.EntityManagerFactoryUtils]-关闭jpa EntityManager
[org.springframework.security.web.context.SecurityContextPersistenceFilter]-请求处理完成后,SecurityContextHolder现在已清除
[org.springframework.orm.jpa.support.OpenEntityManagerViewFilter]-在OpenEntityManagerViewFilter中关闭jpa EntityManager
[org.springframework.orm.jpa.EntityManagerFactoryUtils]-关闭jpa EntityManager
2012-02-02 29 org.apache.catalina.core.StandardWrapperValve调用
严重:路径为[/snd]的上下文中Servlet[sndServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为LazyInitializationException:未能延迟初始化角色集合:model.Account.words,未关闭任何会话或会话],根本原因为
LazyInitializationException:未能延迟初始化角色集合:model.Account.words,未关闭任何会话或会话
位于collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:383)
位于collection.AbstractPersistentCollection.ThrowlazyInitializationExceptionInNotConnected(AbstractPersistentCollection.java:375)
初始化(AbstractPersistentCollection.java:368)
读取(AbstractPersistentCollection.java:111)
...
但是,当我将此片段取消注释时,控制台日志是:

  [Loader] - loading collection: [model.Account.words#104]
  [AbstractBatcher] - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
  [SQL] - select words0_.account_id as account1_9_1_, words0_.word_id as word2_1_, word1_.word_id as word1_8_0_, word1_.counter as counter8_0_, word1_.word as word8_0_ from account_word words0_ inner join word word1_ on words0_.word_id=word1_.word_id where words0_.account_id=?
  Hibernate: select words0_.account_id as account1_9_1_, words0_.word_id as word2_1_, word1_.word_id as word1_8_0_, word1_.counter as counter8_0_, word1_.word as word8_0_ from account_word words0_ inner join word word1_ on words0_.word_id=word1_.word_id where words0_.account_id=?
  [AbstractBatcher] - about to open ResultSet (open ResultSets: 0, globally: 0)
  [Loader] - result set contains (possibly empty) collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#5]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#6]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#7]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#8]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#9]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#10]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#11]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#12]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#13]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#14]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#15]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#18]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#19]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#20]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#21]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#22]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#23]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#24]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#25]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#26]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#27]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#28]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#29]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#30]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#31]
  [Loader] - found row of collection: [model.Account.words#104]
  [AbstractBatcher] - about to close ResultSet (open ResultSets: 1, globally: 1)
  [AbstractBatcher] - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
  [TwoPhaseLoad] - resolving associations for [model.Word#5]
  [TwoPhaseLoad] - done materializing entity [model.Word#5]
  [TwoPhaseLoad] - resolving associations for [model.Word#6]
  [TwoPhaseLoad] - done materializing entity [model.Word#6]
  [TwoPhaseLoad] - resolving associations for [model.Word#7]
  [TwoPhaseLoad] - done materializing entity [model.Word#7]
  [TwoPhaseLoad] - resolving associations for [model.Word#8]
  [TwoPhaseLoad] - done materializing entity [model.Word#8]
  [TwoPhaseLoad] - resolving associations for [model.Word#9]
  [TwoPhaseLoad] - done materializing entity [model.Word#9]
  [TwoPhaseLoad] - resolving associations for [model.Word#10]
  [TwoPhaseLoad] - done materializing entity [model.Word#10]
  [TwoPhaseLoad] - resolving associations for [model.Word#11]
  [TwoPhaseLoad] - done materializing entity [model.Word#11]
  [TwoPhaseLoad] - resolving associations for [model.Word#12]
  [TwoPhaseLoad] - done materializing entity [model.Word#12]
  [TwoPhaseLoad] - resolving associations for [model.Word#13]
  [TwoPhaseLoad] - done materializing entity [model.Word#13]
  [TwoPhaseLoad] - resolving associations for [model.Word#14]
  [TwoPhaseLoad] - done materializing entity [model.Word#14]
  [TwoPhaseLoad] - resolving associations for [model.Word#15]
  [TwoPhaseLoad] - done materializing entity [model.Word#15]
  [TwoPhaseLoad] - resolving associations for [model.Word#18]
  [TwoPhaseLoad] - done materializing entity [model.Word#18]
  [TwoPhaseLoad] - resolving associations for [model.Word#19]
  [TwoPhaseLoad] - done materializing entity [model.Word#19]
  [TwoPhaseLoad] - resolving associations for [model.Word#20]
  [TwoPhaseLoad] - done materializing entity [model.Word#20]
  [TwoPhaseLoad] - resolving associations for [model.Word#21]
  [TwoPhaseLoad] - done materializing entity [model.Word#21]
  [TwoPhaseLoad] - resolving associations for [model.Word#22]
  [TwoPhaseLoad] - done materializing entity [model.Word#22]
  [TwoPhaseLoad] - resolving associations for [model.Word#23]
  [TwoPhaseLoad] - done materializing entity [model.Word#23]
  [TwoPhaseLoad] - resolving associations for [model.Word#24]
  [TwoPhaseLoad] - done materializing entity [model.Word#24]
  [TwoPhaseLoad] - resolving associations for [model.Word#25]
  [TwoPhaseLoad] - done materializing entity [model.Word#25]
  [TwoPhaseLoad] - resolving associations for [model.Word#26]
  [TwoPhaseLoad] - done materializing entity [model.Word#26]
  [TwoPhaseLoad] - resolving associations for [model.Word#27]
  [TwoPhaseLoad] - done materializing entity [model.Word#27]
  [TwoPhaseLoad] - resolving associations for [model.Word#28]
  [TwoPhaseLoad] - done materializing entity [model.Word#28]
  [TwoPhaseLoad] - resolving associations for [model.Word#29]
  [TwoPhaseLoad] - done materializing entity [model.Word#29]
  [TwoPhaseLoad] - resolving associations for [model.Word#30]
  [TwoPhaseLoad] - done materializing entity [model.Word#30]
  [TwoPhaseLoad] - resolving associations for [model.Word#31]
  [TwoPhaseLoad] - done materializing entity [model.Word#31]
  [loading.CollectionLoadContext] - 1 collections were found in result set for role: model.Account.words
  [loading.CollectionLoadContext] - collection fully initialized: [model.Account.words#104]
  [loading.CollectionLoadContext] - 1 collections initialized for role: model.Account.words
  [StatefulPersistenceContext] - initializing non-lazy collections
  [Loader] - done loading collection
  INFO  [service.WordServiceImpl] - Word: anetka
  INFO  [service.WordServiceImpl] - Word: anetka
  INFO  [service.WordServiceImpl] - Word: anetka
  INFO  [service.WordServiceImpl] - Word: lolo
  INFO  [service.WordServiceImpl] - Word: test
  INFO  [service.WordServiceImpl] - Word: jazda
  INFO  [service.WordServiceImpl] - Word: aloza
  INFO  [service.WordServiceImpl] - Word: tata
  INFO  [service.WordServiceImpl] - Word: jestok
  INFO  [service.WordServiceImpl] - Word: test
  INFO  [service.WordServiceImpl] - Word: tesss
  INFO  [service.WordServiceImpl] - Word: słowo
  INFO  [service.WordServiceImpl] - Word: hmm
  INFO  [service.WordServiceImpl] - Word: hmh
  INFO  [service.WordServiceImpl] - Word: ggd
  INFO  [service.WordServiceImpl] - Word: yyy
  INFO  [service.WordServiceImpl] - Word: yyy
  INFO  [service.WordServiceImpl] - Word: chyba
  INFO  [service.WordServiceImpl] - Word: sdsad
  INFO  [service.WordServiceImpl] - Word: pup
  INFO  [service.WordServiceImpl] - Word: hm
  INFO  [service.WordServiceImpl] - Word: ateraz
  INFO  [service.WordServiceImpl] - Word: gj
  INFO  [service.WordServiceImpl] - Word: test
  INFO  [service.WordServiceImpl] - Word: test
   [org.springframework.orm.jpa.JpaTransactionManager] - Initiating transaction commit
   [org.springframework.orm.jpa.JpaTransactionManager] - Committing JPA transaction on EntityManager [ejb.EntityManagerImpl@1c910477]
   [transaction.JDBCTransaction] - commit
   [event.def.AbstractFlushingEventListener] - processing flush-time cascades
  [event.def.AbstractFlushingEventListener] - dirty checking collections
  [Collections] - Collection found: [model.Account.roles#104], was: [model.Account.roles#104] (initialized)
  [Collections] - Collection found: [model.Account.words#104], was: [model.Account.words#104] (initialized)
  [Collections] - Collection found: [model.Role.accounts#2], was: [model.Role.accounts#2] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#5], was: [model.Word.accounts#5] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#6], was: [model.Word.accounts#6] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#7], was: [model.Word.accounts#7] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#8], was: [model.Word.accounts#8] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#9], was: [model.Word.accounts#9] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#10], was: [model.Word.accounts#10] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#11], was: [model.Word.accounts#11] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#12], was: [model.Word.accounts#12] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#13], was: [model.Word.accounts#13] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#14], was: [model.Word.accounts#14] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#15], was: [model.Word.accounts#15] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#18], was: [model.Word.accounts#18] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#19], was: [model.Word.accounts#19] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#20], was: [model.Word.accounts#20] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#21], was: [model.Word.accounts#21] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#22], was: [model.Word.accounts#22] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#23], was: [model.Word.accounts#23] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#24], was: [model.Word.accounts#24] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#25], was: [model.Word.accounts#25] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#26], was: [model.Word.accounts#26] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#27], was: [model.Word.accounts#27] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#28], was: [model.Word.accounts#28] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#29], was: [model.Word.accounts#29] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#30], was: [model.Word.accounts#30] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#31], was: [model.Word.accounts#31] (uninitialized)
  [event.def.AbstractFlushingEventListener] - Flushed: 0 insertions, 0 updates, 0 deletions to 27 objects
  [event.def.AbstractFlushingEventListener] - Flushed: 0 (re)creations, 0 updates, 0 removals to 28 collections
  [pretty.Printer] - listing entities:
  [pretty.Printer] - model.Account{username=mgrodek, registrationDate=2012-01-07 23:15:38.464, accountId=104, words=[model.Word#5, model.Word#6, model.Word#7, model.Word#8, model.Word#9, model.Word#10, model.Word#11, model.Word#12, model.Word#13, model.Word#14, model.Word#15, model.Word#18, model.Word#19, model.Word#20, model.Word#21, model.Word#22, model.Word#23, model.Word#24, model.Word#25, model.Word#26, model.Word#27, model.Word#28, model.Word#29, model.Word#30, model.Word#31], email=mariusz.grodek@gmail.com, roles=[model.Role#2], password=ffd1245c1e1cd7ed0af442ecc9a019e58ff2cbbe4d465b5dc4dc6b8bee16a2bf}
  [pretty.Printer] - model.Word{id=31, accounts=<uninitialized>, counter=1, word=test}
  [pretty.Printer] - model.Word{id=30, accounts=<uninitialized>, counter=1, word=test}
  [pretty.Printer] - model.Word{id=27, accounts=<uninitialized>, counter=1, word=hm}
  [pretty.Printer] - model.Word{id=26, accounts=<uninitialized>, counter=1, word=pup}
  [pretty.Printer] - model.Word{id=29, accounts=<uninitialized>, counter=1, word=gj}
  [pretty.Printer] - model.Word{id=28, accounts=<uninitialized>, counter=1, word=ateraz}
  [pretty.Printer] - model.Role{accounts=<uninitialized>, name=ROLE_REGISTERED, roleId=2}
  [pretty.Printer] - model.Word{id=5, accounts=<uninitialized>, counter=1, word=anetka}
  [pretty.Printer] - model.Word{id=9, accounts=<uninitialized>, counter=1, word=test}
  [pretty.Printer] - model.Word{id=8, accounts=<uninitialized>, counter=1, word=lolo}
  [pretty.Printer] - model.Word{id=7, accounts=<uninitialized>, counter=1, word=anetka}
  [pretty.Printer] - model.Word{id=6, accounts=<uninitialized>, counter=1, word=anetka}
  [pretty.Printer] - model.Word{id=20, accounts=<uninitialized>, counter=1, word=hmh}
  [pretty.Printer] - model.Word{id=21, accounts=<uninitialized>, counter=1, word=ggd}
  [pretty.Printer] - model.Word{id=18, accounts=<uninitialized>, counter=1, word=słowo}
  [pretty.Printer] - model.Word{id=19, accounts=<uninitialized>, counter=1, word=hmm}
  [pretty.Printer] - model.Word{id=24, accounts=<uninitialized>, counter=1, word=chyba}
  [pretty.Printer] - model.Word{id=25, accounts=<uninitialized>, counter=1, word=sdsad}
  [pretty.Printer] - model.Word{id=22, accounts=<uninitialized>, counter=1, word=yyy}
  [pretty.Printer] - model.Word{id=23, accounts=<uninitialized>, counter=1, word=yyy}
  [transaction.JDBCTransaction] - re-enabling autocommit
  [transaction.JDBCTransaction] - committed JDBC Connection
  [ConnectionManager] - aggressively releasing JDBC connection
  [ConnectionManager] - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
  [com.mchange.v2.resourcepool.BasicResourcePool] - trace com.mchange.v2.resourcepool.BasicResourcePool@3918d722 [managed: 5, unused: 4, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@5bb77832)
  [org.springframework.orm.jpa.JpaTransactionManager] - Closing JPA EntityManager [ejb.EntityManagerImpl@1c910477] after transaction
  [org.springframework.orm.jpa.EntityManagerFactoryUtils] - Closing JPA EntityManager
  [org.springframework.security.web.access.ExceptionTranslationFilter] - Chain processed normally
  [org.springframework.security.web.context.SecurityContextPersistenceFilter] - SecurityContextHolder now cleared, as request processing completed
  [org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter] - Closing JPA EntityManager in OpenEntityManagerInViewFilter
  [org.springframework.orm.jpa.EntityManagerFactoryUtils] - Closing JPA EntityManager
[Loader]-加载集合:[model.Account.words#104]
[AbstractBatcher]-即将打开PreparedStatement(打开PreparedStatements:0,全局:0)
[SQL]-选择words0.account\u id作为account1\u 9\u 1\u,words0.word\u id作为word2\u 1\u,word1\u.word\u id作为word1\u 8\u 0\u,word1\u.counter作为counter 8\u 0
  @Repository
  public class AccountDaoImpl implements AccountDao {

  @PersistenceContext
  private EntityManager entityManager;
  private CriteriaBuilder cb;

  @PostConstruct
  private void init() {
      cb = entityManager.getCriteriaBuilder();
  }

  @Override
  public Account findUser(String username) throws UserNotFoundException {
      CriteriaQuery<Account> c = cb.createQuery(Account.class);
      Root<Account> r = c.from(Account.class);
      try {
          c.select(r).where(cb.equal(r.get("username"), username));
          Account foundAccount = entityManager.createQuery(c).getSingleResult();
          return foundAccount;
      } catch(NoResultException nre){
          throw new UserNotFoundException();
      }
  }
  }
  ...
  <ul id="word_list">
      <c:choose>
          <c:when test="${not empty accountWords}">
               <c:forEach items="${accountWords}" var="word" varStatus="status">
                   <li class="word">
                       <span>${word.word}</span>
                   </li>
               </c:forEach>
          </c:when>
      </c:choose>
  </ul>
  ...
   for (Word word : userWords) {
        logger.info("Word: " + word.getWord());
   }
  [StatefulPersistenceContext] - initializing non-lazy collections
  [Loader] - loading collection: [model.Account.roles#104]
  [AbstractBatcher] - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
  [SQL] - select roles0_.account_id as account2_9_1_, roles0_.role_id as role1_1_, role1_.role_id as role1_10_0_, role1_.name as name10_0_ from account_role roles0_ inner join role role1_ on roles0_.role_id=role1_.role_id where roles0_.account_id=?
  Hibernate: select roles0_.account_id as account2_9_1_, roles0_.role_id as role1_1_, role1_.role_id as role1_10_0_, role1_.name as name10_0_ from account_role roles0_ inner join role role1_ on roles0_.role_id=role1_.role_id where roles0_.account_id=?
  [AbstractBatcher] - about to open ResultSet (open ResultSets: 0, globally: 0)
  [Loader] - result set contains (possibly empty) collection: [model.Account.roles#104]
  [Loader] - result row: EntityKey[model.Role#2]
  [Loader] - found row of collection: [model.Account.roles#104]
  [AbstractBatcher] - about to close ResultSet (open ResultSets: 1, globally: 1)
  [AbstractBatcher] - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
  [TwoPhaseLoad] - resolving associations for [model.Role#2]
  [TwoPhaseLoad] - done materializing entity [model.Role#2]
  [loading.CollectionLoadContext] - 1 collections were found in result set for role: model.Account.roles
  [loading.CollectionLoadContext] - collection fully initialized: [model.Account.roles#104]
  [loading.CollectionLoadContext] - 1 collections initialized for role: model.Account.roles
  [Loader] - done loading collection
  [org.springframework.orm.jpa.JpaTransactionManager] - Initiating transaction commit
  [org.springframework.orm.jpa.JpaTransactionManager] - Committing JPA transaction on EntityManager [ejb.EntityManagerImpl@6f76dd71]
  [transaction.JDBCTransaction] - commit
  [event.def.AbstractFlushingEventListener] - processing flush-time cascades
  [event.def.AbstractFlushingEventListener] - dirty checking collections
  [Collections] - Collection found: [model.Account.roles#104], was: [model.Account.roles#104] (initialized)
  [Collections] - Collection found: [model.Account.words#104], was: [model.Account.words#104] (uninitialized)
  [Collections] - Collection found: [model.Role.accounts#2], was: [model.Role.accounts#2] (uninitialized)
  [event.def.AbstractFlushingEventListener] - Flushed: 0 insertions, 0 updates, 0 deletions to 2 objects
  [event.def.AbstractFlushingEventListener] - Flushed: 0 (re)creations, 0 updates, 0 removals to 3 collections
  [pretty.Printer] - listing entities:
  [pretty.Printer] - model.Role{accounts=<uninitialized>, name=ROLE_REGISTERED, roleId=2}
  [pretty.Printer] - model.Account{username=mgrodek, registrationDate=2012-01-07 23:15:38.464, accountId=104, words=<uninitialized>, email=mariusz.grodek@gmail.com, roles=[model.Role#2], password=ffd1245c1e1cd7ed0af442ecc9a019e58ff2cbbe4d465b5dc4dc6b8bee16a2bf}
  [transaction.JDBCTransaction] - re-enabling autocommit
  [transaction.JDBCTransaction] - committed JDBC Connection
  [ConnectionManager] - aggressively releasing JDBC connection
  [ConnectionManager] - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
  [com.mchange.v2.resourcepool.BasicResourcePool] - trace com.mchange.v2.resourcepool.BasicResourcePool@4ecb36fa [managed: 5, unused: 4, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@791d9ad)
  [org.springframework.orm.jpa.JpaTransactionManager] - Closing JPA EntityManager [ejb.EntityManagerImpl@6f76dd71] after transaction
  [org.springframework.orm.jpa.EntityManagerFactoryUtils] - Closing JPA EntityManager
  [org.springframework.security.web.context.SecurityContextPersistenceFilter] - SecurityContextHolder now cleared, as request processing completed
  [org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter] - Closing JPA EntityManager in OpenEntityManagerInViewFilter
  [org.springframework.orm.jpa.EntityManagerFactoryUtils] - Closing JPA EntityManager
  2012-02-02 29 org.apache.catalina.core.StandardWrapperValve invoke
  SEVERE: Servlet.service() for servlet [sndServlet] in context with path [/snd] threw exception [Request processing failed; nested exception is LazyInitializationException: failed to lazily initialize a collection of role: model.Account.words, no session or session was closed] with root cause
  LazyInitializationException: failed to lazily initialize a collection of role: model.Account.words, no session or session was closed
    at collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:383)
    at collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:375)
    at collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:368)
    at collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:111)
   ...
  [Loader] - loading collection: [model.Account.words#104]
  [AbstractBatcher] - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
  [SQL] - select words0_.account_id as account1_9_1_, words0_.word_id as word2_1_, word1_.word_id as word1_8_0_, word1_.counter as counter8_0_, word1_.word as word8_0_ from account_word words0_ inner join word word1_ on words0_.word_id=word1_.word_id where words0_.account_id=?
  Hibernate: select words0_.account_id as account1_9_1_, words0_.word_id as word2_1_, word1_.word_id as word1_8_0_, word1_.counter as counter8_0_, word1_.word as word8_0_ from account_word words0_ inner join word word1_ on words0_.word_id=word1_.word_id where words0_.account_id=?
  [AbstractBatcher] - about to open ResultSet (open ResultSets: 0, globally: 0)
  [Loader] - result set contains (possibly empty) collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#5]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#6]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#7]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#8]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#9]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#10]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#11]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#12]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#13]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#14]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#15]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#18]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#19]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#20]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#21]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#22]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#23]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#24]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#25]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#26]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#27]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#28]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#29]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#30]
  [Loader] - found row of collection: [model.Account.words#104]
  [Loader] - result row: EntityKey[model.Word#31]
  [Loader] - found row of collection: [model.Account.words#104]
  [AbstractBatcher] - about to close ResultSet (open ResultSets: 1, globally: 1)
  [AbstractBatcher] - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
  [TwoPhaseLoad] - resolving associations for [model.Word#5]
  [TwoPhaseLoad] - done materializing entity [model.Word#5]
  [TwoPhaseLoad] - resolving associations for [model.Word#6]
  [TwoPhaseLoad] - done materializing entity [model.Word#6]
  [TwoPhaseLoad] - resolving associations for [model.Word#7]
  [TwoPhaseLoad] - done materializing entity [model.Word#7]
  [TwoPhaseLoad] - resolving associations for [model.Word#8]
  [TwoPhaseLoad] - done materializing entity [model.Word#8]
  [TwoPhaseLoad] - resolving associations for [model.Word#9]
  [TwoPhaseLoad] - done materializing entity [model.Word#9]
  [TwoPhaseLoad] - resolving associations for [model.Word#10]
  [TwoPhaseLoad] - done materializing entity [model.Word#10]
  [TwoPhaseLoad] - resolving associations for [model.Word#11]
  [TwoPhaseLoad] - done materializing entity [model.Word#11]
  [TwoPhaseLoad] - resolving associations for [model.Word#12]
  [TwoPhaseLoad] - done materializing entity [model.Word#12]
  [TwoPhaseLoad] - resolving associations for [model.Word#13]
  [TwoPhaseLoad] - done materializing entity [model.Word#13]
  [TwoPhaseLoad] - resolving associations for [model.Word#14]
  [TwoPhaseLoad] - done materializing entity [model.Word#14]
  [TwoPhaseLoad] - resolving associations for [model.Word#15]
  [TwoPhaseLoad] - done materializing entity [model.Word#15]
  [TwoPhaseLoad] - resolving associations for [model.Word#18]
  [TwoPhaseLoad] - done materializing entity [model.Word#18]
  [TwoPhaseLoad] - resolving associations for [model.Word#19]
  [TwoPhaseLoad] - done materializing entity [model.Word#19]
  [TwoPhaseLoad] - resolving associations for [model.Word#20]
  [TwoPhaseLoad] - done materializing entity [model.Word#20]
  [TwoPhaseLoad] - resolving associations for [model.Word#21]
  [TwoPhaseLoad] - done materializing entity [model.Word#21]
  [TwoPhaseLoad] - resolving associations for [model.Word#22]
  [TwoPhaseLoad] - done materializing entity [model.Word#22]
  [TwoPhaseLoad] - resolving associations for [model.Word#23]
  [TwoPhaseLoad] - done materializing entity [model.Word#23]
  [TwoPhaseLoad] - resolving associations for [model.Word#24]
  [TwoPhaseLoad] - done materializing entity [model.Word#24]
  [TwoPhaseLoad] - resolving associations for [model.Word#25]
  [TwoPhaseLoad] - done materializing entity [model.Word#25]
  [TwoPhaseLoad] - resolving associations for [model.Word#26]
  [TwoPhaseLoad] - done materializing entity [model.Word#26]
  [TwoPhaseLoad] - resolving associations for [model.Word#27]
  [TwoPhaseLoad] - done materializing entity [model.Word#27]
  [TwoPhaseLoad] - resolving associations for [model.Word#28]
  [TwoPhaseLoad] - done materializing entity [model.Word#28]
  [TwoPhaseLoad] - resolving associations for [model.Word#29]
  [TwoPhaseLoad] - done materializing entity [model.Word#29]
  [TwoPhaseLoad] - resolving associations for [model.Word#30]
  [TwoPhaseLoad] - done materializing entity [model.Word#30]
  [TwoPhaseLoad] - resolving associations for [model.Word#31]
  [TwoPhaseLoad] - done materializing entity [model.Word#31]
  [loading.CollectionLoadContext] - 1 collections were found in result set for role: model.Account.words
  [loading.CollectionLoadContext] - collection fully initialized: [model.Account.words#104]
  [loading.CollectionLoadContext] - 1 collections initialized for role: model.Account.words
  [StatefulPersistenceContext] - initializing non-lazy collections
  [Loader] - done loading collection
  INFO  [service.WordServiceImpl] - Word: anetka
  INFO  [service.WordServiceImpl] - Word: anetka
  INFO  [service.WordServiceImpl] - Word: anetka
  INFO  [service.WordServiceImpl] - Word: lolo
  INFO  [service.WordServiceImpl] - Word: test
  INFO  [service.WordServiceImpl] - Word: jazda
  INFO  [service.WordServiceImpl] - Word: aloza
  INFO  [service.WordServiceImpl] - Word: tata
  INFO  [service.WordServiceImpl] - Word: jestok
  INFO  [service.WordServiceImpl] - Word: test
  INFO  [service.WordServiceImpl] - Word: tesss
  INFO  [service.WordServiceImpl] - Word: słowo
  INFO  [service.WordServiceImpl] - Word: hmm
  INFO  [service.WordServiceImpl] - Word: hmh
  INFO  [service.WordServiceImpl] - Word: ggd
  INFO  [service.WordServiceImpl] - Word: yyy
  INFO  [service.WordServiceImpl] - Word: yyy
  INFO  [service.WordServiceImpl] - Word: chyba
  INFO  [service.WordServiceImpl] - Word: sdsad
  INFO  [service.WordServiceImpl] - Word: pup
  INFO  [service.WordServiceImpl] - Word: hm
  INFO  [service.WordServiceImpl] - Word: ateraz
  INFO  [service.WordServiceImpl] - Word: gj
  INFO  [service.WordServiceImpl] - Word: test
  INFO  [service.WordServiceImpl] - Word: test
   [org.springframework.orm.jpa.JpaTransactionManager] - Initiating transaction commit
   [org.springframework.orm.jpa.JpaTransactionManager] - Committing JPA transaction on EntityManager [ejb.EntityManagerImpl@1c910477]
   [transaction.JDBCTransaction] - commit
   [event.def.AbstractFlushingEventListener] - processing flush-time cascades
  [event.def.AbstractFlushingEventListener] - dirty checking collections
  [Collections] - Collection found: [model.Account.roles#104], was: [model.Account.roles#104] (initialized)
  [Collections] - Collection found: [model.Account.words#104], was: [model.Account.words#104] (initialized)
  [Collections] - Collection found: [model.Role.accounts#2], was: [model.Role.accounts#2] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#5], was: [model.Word.accounts#5] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#6], was: [model.Word.accounts#6] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#7], was: [model.Word.accounts#7] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#8], was: [model.Word.accounts#8] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#9], was: [model.Word.accounts#9] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#10], was: [model.Word.accounts#10] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#11], was: [model.Word.accounts#11] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#12], was: [model.Word.accounts#12] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#13], was: [model.Word.accounts#13] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#14], was: [model.Word.accounts#14] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#15], was: [model.Word.accounts#15] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#18], was: [model.Word.accounts#18] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#19], was: [model.Word.accounts#19] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#20], was: [model.Word.accounts#20] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#21], was: [model.Word.accounts#21] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#22], was: [model.Word.accounts#22] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#23], was: [model.Word.accounts#23] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#24], was: [model.Word.accounts#24] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#25], was: [model.Word.accounts#25] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#26], was: [model.Word.accounts#26] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#27], was: [model.Word.accounts#27] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#28], was: [model.Word.accounts#28] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#29], was: [model.Word.accounts#29] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#30], was: [model.Word.accounts#30] (uninitialized)
  [Collections] - Collection found: [model.Word.accounts#31], was: [model.Word.accounts#31] (uninitialized)
  [event.def.AbstractFlushingEventListener] - Flushed: 0 insertions, 0 updates, 0 deletions to 27 objects
  [event.def.AbstractFlushingEventListener] - Flushed: 0 (re)creations, 0 updates, 0 removals to 28 collections
  [pretty.Printer] - listing entities:
  [pretty.Printer] - model.Account{username=mgrodek, registrationDate=2012-01-07 23:15:38.464, accountId=104, words=[model.Word#5, model.Word#6, model.Word#7, model.Word#8, model.Word#9, model.Word#10, model.Word#11, model.Word#12, model.Word#13, model.Word#14, model.Word#15, model.Word#18, model.Word#19, model.Word#20, model.Word#21, model.Word#22, model.Word#23, model.Word#24, model.Word#25, model.Word#26, model.Word#27, model.Word#28, model.Word#29, model.Word#30, model.Word#31], email=mariusz.grodek@gmail.com, roles=[model.Role#2], password=ffd1245c1e1cd7ed0af442ecc9a019e58ff2cbbe4d465b5dc4dc6b8bee16a2bf}
  [pretty.Printer] - model.Word{id=31, accounts=<uninitialized>, counter=1, word=test}
  [pretty.Printer] - model.Word{id=30, accounts=<uninitialized>, counter=1, word=test}
  [pretty.Printer] - model.Word{id=27, accounts=<uninitialized>, counter=1, word=hm}
  [pretty.Printer] - model.Word{id=26, accounts=<uninitialized>, counter=1, word=pup}
  [pretty.Printer] - model.Word{id=29, accounts=<uninitialized>, counter=1, word=gj}
  [pretty.Printer] - model.Word{id=28, accounts=<uninitialized>, counter=1, word=ateraz}
  [pretty.Printer] - model.Role{accounts=<uninitialized>, name=ROLE_REGISTERED, roleId=2}
  [pretty.Printer] - model.Word{id=5, accounts=<uninitialized>, counter=1, word=anetka}
  [pretty.Printer] - model.Word{id=9, accounts=<uninitialized>, counter=1, word=test}
  [pretty.Printer] - model.Word{id=8, accounts=<uninitialized>, counter=1, word=lolo}
  [pretty.Printer] - model.Word{id=7, accounts=<uninitialized>, counter=1, word=anetka}
  [pretty.Printer] - model.Word{id=6, accounts=<uninitialized>, counter=1, word=anetka}
  [pretty.Printer] - model.Word{id=20, accounts=<uninitialized>, counter=1, word=hmh}
  [pretty.Printer] - model.Word{id=21, accounts=<uninitialized>, counter=1, word=ggd}
  [pretty.Printer] - model.Word{id=18, accounts=<uninitialized>, counter=1, word=słowo}
  [pretty.Printer] - model.Word{id=19, accounts=<uninitialized>, counter=1, word=hmm}
  [pretty.Printer] - model.Word{id=24, accounts=<uninitialized>, counter=1, word=chyba}
  [pretty.Printer] - model.Word{id=25, accounts=<uninitialized>, counter=1, word=sdsad}
  [pretty.Printer] - model.Word{id=22, accounts=<uninitialized>, counter=1, word=yyy}
  [pretty.Printer] - model.Word{id=23, accounts=<uninitialized>, counter=1, word=yyy}
  [transaction.JDBCTransaction] - re-enabling autocommit
  [transaction.JDBCTransaction] - committed JDBC Connection
  [ConnectionManager] - aggressively releasing JDBC connection
  [ConnectionManager] - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
  [com.mchange.v2.resourcepool.BasicResourcePool] - trace com.mchange.v2.resourcepool.BasicResourcePool@3918d722 [managed: 5, unused: 4, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@5bb77832)
  [org.springframework.orm.jpa.JpaTransactionManager] - Closing JPA EntityManager [ejb.EntityManagerImpl@1c910477] after transaction
  [org.springframework.orm.jpa.EntityManagerFactoryUtils] - Closing JPA EntityManager
  [org.springframework.security.web.access.ExceptionTranslationFilter] - Chain processed normally
  [org.springframework.security.web.context.SecurityContextPersistenceFilter] - SecurityContextHolder now cleared, as request processing completed
  [org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter] - Closing JPA EntityManager in OpenEntityManagerInViewFilter
  [org.springframework.orm.jpa.EntityManagerFactoryUtils] - Closing JPA EntityManager
      <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:jee="http://www.springframework.org/schema/jee"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

      <filter>
          <filter-name>JpaFilter</filter-name>
          <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
      </filter>
      <filter-mapping>
          <filter-name>JpaFilter</filter-name>
          <url-pattern>/*</url-pattern>
      </filter-mapping>

      <display-name>snd</display-name>

      <listener>
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>     

      <servlet>
          <servlet-name>sndServlet</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      </servlet>

      <servlet-mapping>
          <servlet-name>sndServlet</servlet-name>
          <url-pattern>*.html</url-pattern>
      </servlet-mapping>

  </web-app>