`

Compass2.0.2版本自带例子分析

阅读更多
下面的代码来自compass自带的例子,我稍微改造了一下。

代码如下:

Author.java

   1. package com.tutorial;
   2.
   3. import java.util.ArrayList;
   4. import java.util.Date;
   5. import java.util.List;
   6.
   7. public class Author implements Identifiable {
   8.
   9.     private Long id;
  10.     private Name name;
  11.     private Date birthdate;
  12.     private String[] keywords;
  13.     private List<Book> books = new ArrayList<Book>();
  14.
  15.     public Author() {
  16.     }
  17.
  18.     public Date getBirthdate() {
  19.         return birthdate;
  20.     }
  21.
  22.     public void setBirthdate(Date birthdate) {
  23.         this.birthdate = birthdate;
  24.     }
  25.
  26.     public List<Book> getBooks() {
  27.         return books;
  28.     }
  29.
  30.     public void setBooks(List<Book> books) {
  31.         this.books = books;
  32.     }
  33.
  34.     public void addBook(Book book) {
  35.         books.add(book);
  36.     }
  37.
  38.     public Long getId() {
  39.         return id;
  40.     }
  41.
  42.     public void setId(Long id) {
  43.         this.id = id;
  44.     }
  45.
  46.     public Name getName() {
  47.         return name;
  48.     }
  49.
  50.     public void setName(Name name) {
  51.         this.name = name;
  52.     }
  53.
  54.     public String[] getKeywords() {
  55.         return keywords;
  56.     }
  57.
  58.     public void setKeywords(String[] keywords) {
  59.         this.keywords = keywords;
  60.     }
  61.
  62.     public String toString() {
  63.         return name.toString();
  64.     }
  65. }

Book.java

   1. package com.tutorial;
   2.
   3. import java.util.Date;
   4.
   5. public class Book implements Identifiable {
   6.
   7.     private Long id;
   8.     private String title;
   9.     private Date publishDate;
  10.     private String[] keywords;
  11.     private String summary;
  12.
  13.     public Book() {
  14.     }
  15.
  16.     public Book(String title, Date publishDate, String summary, String[] keywords) {
  17.         this.title = title;
  18.         this.publishDate = publishDate;
  19.         this.summary = summary;
  20.         this.keywords = keywords;
  21.     }
  22.
  23.     public String[] getKeywords() {
  24.         return keywords;
  25.     }
  26.
  27.     public void setKeywords(String[] keywords) {
  28.         this.keywords = keywords;
  29.     }
  30.
  31.     public Date getPublishDate() {
  32.         return publishDate;
  33.     }
  34.
  35.     public void setPublishDate(Date publishDate) {
  36.         this.publishDate = publishDate;
  37.     }
  38.
  39.     public String getSummary() {
  40.         return summary;
  41.     }
  42.
  43.     public void setSummary(String summary) {
  44.         this.summary = summary;
  45.     }
  46.
  47.     public String getTitle() {
  48.         return title;
  49.     }
  50.
  51.     public void setTitle(String title) {
  52.         this.title = title;
  53.     }
  54.
  55.     public Long getId() {
  56.         return id;
  57.     }
  58.
  59.     public void setId(Long id) {
  60.         this.id = id;
  61.     }
  62.
  63.     public String toString() {
  64.         return title;
  65.     }
  66. }

Identifiable.java

   1. package com.tutorial;
   2.
   3. public interface Identifiable {
   4.
   5.     Long getId();
   6. }

Name.java

   1. package com.tutorial;
   2.
   3. public class Name {
   4.
   5.     private String title;
   6.     private String firstName;
   7.     private String lastName;
   8.
   9.     public Name() {
  10.     }
  11.
  12.     public Name(String title, String firstName, String lastName) {
  13.         this.title = title;
  14.         this.firstName = firstName;
  15.         this.lastName = lastName;
  16.     }
  17.
  18.     public String getFirstName() {
  19.         return firstName;
  20.     }
  21.
  22.     public void setFirstName(String firstName) {
  23.         this.firstName = firstName;
  24.     }
  25.
  26.     public String getLastName() {
  27.         return lastName;
  28.     }
  29.
  30.     public void setLastName(String lastName) {
  31.         this.lastName = lastName;
  32.     }
  33.
  34.     public String getTitle() {
  35.         return title;
  36.     }
  37.
  38.     public void setTitle(String title) {
  39.         this.title = title;
  40.     }
  41.
  42.     public boolean equals(Object other) {
  43.        
  44.         if (this == other) {
  45.             return true;
  46.         }
  47.
  48.         if (!(other instanceof Name)) {
  49.             return false;
  50.         }
  51.
  52.         Name otherName = (Name) other;
  53.         if (title != null) {
  54.             if (!title.equals(otherName.getTitle())) {
  55.                 return false;
  56.             }
  57.         }
  58.         if (firstName != null) {
  59.             if (!firstName.equals(otherName.getFirstName())) {
  60.                 return false;
  61.             }
  62.         }
  63.         if (lastName != null) {
  64.             if (!lastName.equals(otherName.getLastName())) {
  65.                 return false;
  66.             }
  67.         }
  68.         return true;
  69.     }
  70.
  71.     public int hashCode() {
  72.         int hash = 1;
  73.         hash = hash * 31 + title == null ? 0 : title.hashCode();
  74.         hash = hash * 31 + firstName == null ? 0 : firstName.hashCode();
  75.         hash = hash * 31 + lastName == null ? 0 : lastName.hashCode();
  76.         return hash;
  77.     }
  78.
  79.     public String toString() {
  80.         return title + " " + " " + firstName + " " + lastName;
  81.     }
  82. }

Library.java

   1. package com.tutorial;
   2.
   3. public final class Library {
   4.
   5.     public static final class Group {
   6.         public static final String Id = "library";
   7.         public static final String DispayName = "Library Meta Data";
   8.         public static final String Uri = "http://compass/toturial";
   9.     }
  10.
  11.     public static final class Alias {
  12.
  13.         public static final class Book {
  14.             public static final String Id = "book";
  15.             public static final String Name = "book";
  16.             public static final String DisplayName = "Book";
  17.             public static final String Uri = "http://compass/toturial/alias/book";
  18.             public static final String GroupId = "library";
  19.         }
  20.
  21.         public static final class Name {
  22.             public static final String Id = "name";
  23.             public static final String Name = "name";
  24.             public static final String DisplayName = "Name";
  25.             public static final String Uri = "http://compass/toturial/alias/name";
  26.             public static final String GroupId = "library";
  27.         }
  28.
  29.         public static final class Author {
  30.             public static final String Id = "author";
  31.             public static final String Name = "author";
  32.             public static final String DisplayName = "Author";
  33.             public static final String Uri = "http://compass/toturial/alias/author";
  34.             public static final String GroupId = "library";
  35.         }
  36.
  37.     }
  38.
  39.     public static final class MetaData {
  40.
  41.         public static final class Summary {
  42.             public static final String Id = "summary";
  43.             public static final String Name = "summary";
  44.             public static final String DisplayName = "Summary";
  45.             public static final String Uri = "http://compass/toturial/summary";
  46.             public static final String GroupId = "library";
  47.         }
  48.
  49.         public static final class Keyword {
  50.             public static final String Id = "keyword";
  51.             public static final String Name = "keyword";
  52.             public static final String DisplayName = "Keyword";
  53.             public static final String Uri = "http://compass/toturial/keyword";
  54.             public static final String GroupId = "library";
  55.         }
  56.
  57.         public static final class PublishDate {
  58.             public static final String Id = "publishDate";
  59.             public static final String Name = "publish";
  60.             public static final String DisplayName = "Publish Date";
  61.             public static final String Uri = "http://compass/toturial/publishDate";
  62.             public static final String GroupId = "library";
  63.         }
  64.
  65.         public static final class Title {
  66.             public static final String Id = "title";
  67.             public static final String Name = "title";
  68.             public static final String DisplayName = "Title";
  69.             public static final String Uri = "http://compass/toturial/title";
  70.             public static final String GroupId = "library";
  71.         }
  72.
  73.         public static final class Type {
  74.             public static final String Id = "type";
  75.             public static final String Name = "type";
  76.             public static final String DisplayName = "Type";
  77.             public static final String Uri = "http://compass/toturial/type";
  78.             public static final String GroupId = "library";
  79.         }
  80.
  81.         public static final class TitleName {
  82.             public static final String Id = "titleName";
  83.             public static final String Name = "titleName";
  84.             public static final String DisplayName = "Title Name";
  85.             public static final String Uri = "http://compass/toturial/titleName";
  86.             public static final String GroupId = "library";
  87.         }
  88.
  89.         public static final class Isbn {
  90.             public static final String Id = "isbn";
  91.             public static final String Name = "name";
  92.             public static final String DisplayName = "ISBN";
  93.             public static final String Uri = "http://compass/toturial/name";
  94.             public static final String GroupId = "library";
  95.         }
  96.
  97.         public static final class Name {
  98.             public static final String Id = "name";
  99.             public static final String Name = "name";
100.             public static final String DisplayName = "Name";
101.             public static final String Uri = "http://compass/toturial/name";
102.             public static final String GroupId = "library";
103.         }
104.
105.         public static final class Birthdate {
106.             public static final String Id = "birthdate";
107.             public static final String Name = "birthdate";
108.             public static final String DisplayName = "Birthdate";
109.             public static final String Uri = "http://compass/toturial/birthdate";
110.             public static final String GroupId = "library";
111.             public static final String Format = "yyyy/MM/dd";
112.         }
113.
114.         public static final class FirstName {
115.             public static final String Id = "firstName";
116.             public static final String Name = "firstName";
117.             public static final String DisplayName = "First Name";
118.             public static final String Uri = "http://compass/toturial/firstName";
119.             public static final String GroupId = "library";
120.         }
121.
122.         public static final class LastName {
123.             public static final String Id = "lastName";
124.             public static final String Name = "lastName";
125.             public static final String DisplayName = "Last Name";
126.             public static final String Uri = "http://compass/sample/library/lastName";
127.             public static final String GroupId = "library";
128.         }
129.     }
130. }

Author.cpm.xml

   1. <?xml version="1.0"?>
   2. <!DOCTYPE compass-core-mapping PUBLIC
   3.     "-//Compass/Compass Core Mapping DTD 2.0//EN"
   4.     "http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd">
   5.
   6. <compass-core-mapping package="com.tutorial">
   7.
   8.     <class name="Author" alias="${library.author}">
   9.
  10.         <id name="id" />
  11.
  12.         <constant>
  13.             <meta-data>${library.type}</meta-data>
  14.             <meta-data-value>${library.type.mdPerson}</meta-data-value>
  15.             <meta-data-value>${library.type.mdAuthor}</meta-data-value>
  16.         </constant>
  17.
  18.         <property name="keywords">
  19.             <meta-data boost="2">${library.keyword}</meta-data>
  20.         </property>
  21.
  22.         <component name="name" ref-alias="${library.name.md}" />
  23.
  24.         <property name="birthdate">
  25.             <meta-data>${library.birthdate}</meta-data>
  26.         </property>
  27.
  28.         <reference name="books" ref-alias="${library.book}" />
  29.
  30.     </class>
  31.
  32.     <class name="Name" alias="${library.name}" root="false">
  33.             <property name="title">
  34.                 <meta-data>${library.titleName}</meta-data>
  35.             </property>
  36.             <property name="firstName">
  37.                 <meta-data>${library.firstName}</meta-data>
  38.                 <meta-data>${library.name}</meta-data>
  39.             </property>
  40.             <property name="lastName">
  41.                 <meta-data>${library.lastName}</meta-data>
  42.                 <meta-data>${library.name}</meta-data>
  43.             </property>
  44.     </class>
  45.
  46. </compass-core-mapping>

Book.cpm.xml

   1. <?xml version="1.0"?>
   2. <!DOCTYPE compass-core-mapping PUBLIC
   3.     "-//Compass/Compass Core Mapping DTD 2.0//EN"
   4.     "http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd">
   5.
   6. <compass-core-mapping package="com.tutorial">
   7.
   8.     <class name="Book" alias="${library.book}">
   9.    
  10.         <id name="id" />
  11.
  12.         <property name="keywords">
  13.             <meta-data boost="2">${library.keyword}</meta-data>
  14.         </property>
  15.        
  16.         <property name="title">
  17.             <meta-data>${library.title}</meta-data>
  18.         </property>
  19.
  20.         <property name="publishDate">
  21.             <meta-data>${library.publishDate}</meta-data>
  22.         </property>
  23.
  24.         <property name="summary">
  25.             <meta-data>${library.summary}</meta-data>
  26.         </property>
  27.    
  28.     </class>
  29.    
  30. </compass-core-mapping>

library.cmd.xml

   1. <?xml version="1.0"?>
   2. <!DOCTYPE compass-core-meta-data PUBLIC
   3.     "-//Compass/Compass Core Meta Data DTD 2.0//EN"
   4.     "http://www.compass-project.org/dtd/compass-core-meta-data-2.0.dtd">
   5.
   6. <compass-core-meta-data>
   7.
   8.     <meta-data-group id="library" displayName="Library Meta Data">
   9.    
  10.         <description>Library Meta Data</description>      
  11.         <uri>http://compass/toturial</uri>
  12.        
  13.         <alias id="author" displayName="Author">
  14.             <description>Author alias</description>
  15.             <uri>http://compass/toturial/alias/author</uri>
  16.             <name>author</name>
  17.         </alias>
  18.
  19.         <alias id="name" displayName="Name">
  20.             <description>Name alias</description>
  21.             <uri>http://compass/toturial/alias/name</uri>
  22.             <name>name</name>
  23.         </alias>
  24.
  25.         <alias id="book" displayName="Book">
  26.             <description>Book alias</description>
  27.             <uri>http://compass/toturial/alias/book</uri>
  28.             <name>book</name>
  29.         </alias>
  30.
  31.         <meta-data id="type" displayName="Type">
  32.             <description>Type of an entity in the system</description>
  33.             <uri>http://compass/toturial/type</uri>
  34.             <name>type</name>
  35.             <value id="mdPerson">person</value>
  36.             <value id="mdAuthor">author</value>
  37.         </meta-data>
  38.        
  39.         <meta-data id="keyword" displayName="Keyword">
  40.             <description>Keyword associated with an entity</description>
  41.             <uri>http://compass/toturial/keyword</uri>
  42.             <name>keyword</name>
  43.         </meta-data>
  44.
  45.         <meta-data id="name" displayName="Name">
  46.             <description>The name of a person (firstName or lastName) without the title</description>
  47.             <uri>http://compass/toturial/name</uri>
  48.             <name>name</name>
  49.         </meta-data>
  50.
  51.         <meta-data id="firstName" displayName="First Name">
  52.             <description>The first name of a person</description>
  53.             <uri>http://compass/toturial/firstName</uri>
  54.             <name>firstName</name>
  55.         </meta-data>
  56.
  57.         <meta-data id="lastName" displayName="Last Name">
  58.             <description>The last name of a person</description>
  59.             <uri>http://compass/toturial/lastName</uri>
  60.             <name>lastName</name>
  61.         </meta-data>
  62.
  63.         <meta-data id="titleName" displayName="Title Name">
  64.             <description>The title of a person</description>
  65.             <uri>http://compass/toturial/titleName</uri>
  66.             <name>titleName</name>
  67.         </meta-data>
  68.
  69.         <meta-data id="birthdate" displayName="Birthdate">
  70.             <description>The birthdate of a person</description>
  71.             <uri>http://compass/toturial/birthdate</uri>
  72.             <name format="yyyy/MM/dd">birthdate</name>
  73.         </meta-data>
  74.        
  75.         <meta-data id="isbn" displayName="ISBN">
  76.             <description>ISBN of the book</description>
  77.             <uri>http://compass/toturial/name</uri>
  78.             <name>name</name>
  79.         </meta-data>
  80.
  81.         <meta-data id="title" displayName="Title">
  82.             <description>The title of a book or an article</description>
  83.             <uri>http://compass/toturial/title</uri>
  84.             <name>title</name>
  85.         </meta-data>
  86.
  87.         <meta-data id="publishDate" displayName="Publish Date">
  88.             <description>The publish date of a book or an article</description>
  89.             <uri>http://compass/toturial/publishDate</uri>
  90.             <name>publish</name>
  91.         </meta-data>
  92.
  93.         <meta-data id="summary" displayName="Summary">
  94.             <description>The summary of a book or an article</description>
  95.             <uri>http://compass/toturial/summary</uri>
  96.             <name>summary</name>
  97.         </meta-data>
  98.        
  99.     </meta-data-group>
100.    
101. </compass-core-meta-data>

compass.cfg.xml

   1. <!DOCTYPE compass-core-configuration PUBLIC
   2.     "-//Compass/Compass Core Configuration DTD 2.0//EN"
   3.     "http://www.compass-project.org/dtd/compass-core-configuration-2.0.dtd">
   4.
   5. <compass-core-configuration>
   6.
   7.     <compass>
   8.    
   9.         <setting name="compass.engine.connection">target/index</setting>
  10.        
  11.         <meta-data resource="com/tutorial/library.cmd.xml" />
  12.     
  13.     </compass>
  14.
  15. </compass-core-configuration>

测试代码:

LibraryTests.java

   1. package com.demo;
   2.
   3. import java.text.SimpleDateFormat;
   4. import java.util.Calendar;
   5.
   6. import org.compass.core.Compass;
   7. import org.compass.core.CompassCallbackWithoutResult;
   8. import org.compass.core.CompassException;
   9. import org.compass.core.CompassHits;
  10. import org.compass.core.CompassQueryBuilder;
  11. import org.compass.core.CompassSession;
  12. import org.compass.core.CompassTemplate;
  13. import org.compass.core.CompassTransaction;
  14. import org.compass.core.Resource;
  15. import org.compass.core.config.CompassConfiguration;
  16.
  17. import com.tutorial.Author;
  18. import com.tutorial.Book;
  19. import com.tutorial.Identifiable;
  20. import com.tutorial.Library;
  21. import com.tutorial.Name;
  22.
  23. public class LibraryTests {
  24.
  25.     public static void main(String[] args){
  26.        
  27.         CompassConfiguration config = new CompassConfiguration();
  28.         config.configure("/com/tutorial/compass.cfg.xml");
  29.         config.addClass(Author.class).addClass(Book.class);
  30.         Compass compass = config.buildCompass();
  31.         compass.getSearchEngineIndexManager().deleteIndex();
  32.         compass.getSearchEngineIndexManager().createIndex();
  33.        
  34.         try {
  35.             setUpData(compass);
  36.         } catch (Exception e) {
  37.             e.printStackTrace();
  38.         }
  39.        
  40.         CompassSession session = compass.openSession();
  41.         CompassTransaction tx = null;
  42.         try {
  43.             tx = session.beginTransaction();
  44.             Author author = (Author) session.load(Author.class, 1);
  45.            
  46.             SimpleDateFormat sdf = new SimpleDateFormat(Library.MetaData.Birthdate.Format);
  47.             System.out.println(sdf.format(author.getBirthdate()));
  48.             System.out.println(author.getName().getFirstName());
  49.             System.out.println(author.getBooks().size());
  50.            
  51.             //delete it
  52.             //session.delete(author);
  53.            
  54.             tx.commit();
  55.         } catch (Exception e) {
  56.             if (tx != null) {
  57.                 tx.rollback();
  58.             }
  59.         } finally {
  60.             session.close();
  61.         }
  62.        
  63.         CompassTemplate compassTemplate = new CompassTemplate(compass);
  64.         compassTemplate.execute(new CompassCallbackWithoutResult() {
  65.             protected void doInCompassWithoutResult(CompassSession session) throws CompassException {
  66.                 String query = "fiercely";
  67.                 CompassHits hits = session.find(query);
  68.
  69.                 System.out.println("Found [" + hits.getLength() + "] hits for [" + query + "] query");
  70.                 System.out.println("======================================================");
  71.                 for (int i = 0; i < hits.getLength(); i++) {
  72.                     Object value = hits.data(i);
  73.                     Resource resource = hits.resource(i);
  74.                     System.out.println("ALIAS [" + resource.getAlias() + "] ID [" + ((Identifiable) value).getId() + "] SCORE [" + hits.score(i) + "]");
  75.                     System.out.println(":::: " + value);
  76.                     System.out.println("");
  77.                 }
  78.
  79.                 hits.close();
  80.             }
  81.         });
  82.        
  83.         compassTemplate = new CompassTemplate(compass);
  84.         compassTemplate.execute(new CompassCallbackWithoutResult() {
  85.             protected void doInCompassWithoutResult(CompassSession session) throws CompassException {
  86.
  87.                 CompassQueryBuilder queryBuilder = session.queryBuilder();
  88.                 CompassHits hits = queryBuilder.bool().addMust(queryBuilder.term("book.id", 1))
  89.                 //.addMustNot(queryBuilder.term("author.books.id", 1))
  90.                 .toQuery().hits();
  91.                
  92.                 System.out.println("Found [" + hits.getLength() + "] hits for [" +    "Jack"  + "] query");
  93.                 System.out.println("======================================================");
  94.                 for (int i = 0; i < hits.getLength(); i++) {
  95.                     Object value = hits.data(i);
  96.                     Resource resource = hits.resource(i);
  97.                     System.out.println("ALIAS [" + resource.getAlias() + "] ID [" + ((Identifiable) value).getId() + "] SCORE [" + hits.score(i) + "]");
  98.                     System.out.println(":::: " + value);
  99.                     System.out.println("");
100.                 }
101.
102.                 hits.close();
103.             }
104.         });
105.        
106.     }
107.    
108.     public static void setUpData(Compass compass) throws Exception {
109.        
110.         CompassSession session = compass.openSession();
111.         CompassTransaction tx = session.beginTransaction();
112.        
113.         Author jackLondon = new Author();
114.         jackLondon.setId(new Long(1));
115.         jackLondon.setName(new Name("Mr", "Jack", "London"));
116.         Calendar c = Calendar.getInstance();
117.         c.set(1876, 0, 12);
118.         jackLondon.setBirthdate(c.getTime());
119.         jackLondon.setKeywords(new String[] { "american author" });
120.
121.         Book whiteFang = new Book();
122.         whiteFang.setId(new Long(1));
123.         whiteFang.setTitle("White Fang");
124.         c.set(1906, 0, 1);
125.         whiteFang.setPublishDate(c.getTime());
126.         whiteFang.setSummary("The remarkable story of a fiercely independent creature of the wild");
127.         whiteFang.setKeywords(new String[] { "jack london", "call of the wild" });
128.         jackLondon.addBook(whiteFang);
129.         session.save(whiteFang);
130.
131.         Book callOfTheWild = new Book();
132.         callOfTheWild.setId(new Long(2));
133.         callOfTheWild.setTitle("The Call of the Wild");
134.         c.set(1903, 0, 1);
135.         callOfTheWild.setPublishDate(c.getTime());
136.         callOfTheWild.setSummary("The Call of the Wild is a tale about unbreakable spirit");
137.         callOfTheWild.setKeywords(new String[] { "jack london", "buck", "white fang" });
138.         jackLondon.addBook(callOfTheWild);
139.         session.save(callOfTheWild);
140.
141.         session.save(jackLondon);
142.        
143.         Author jamesClavell = new Author();
144.         jamesClavell.setId(new Long(2));
145.         jamesClavell.setName(new Name("Mr", "James", "Clavell"));
146.         c.set(1924, 9, 10);
147.         jamesClavell.setBirthdate(c.getTime());
148.         jamesClavell.setKeywords(new String[] { "far east", "shogun", "japan", "hong kong" });
149.
150.         Book shogun = new Book();
151.         shogun.setId(new Long(3));
152.         shogun.setTitle("Shogun");
153.         c.set(1975, 0, 1);
154.         shogun.setPublishDate(c.getTime());
155.         shogun.setSummary("A story of a hero who is not a person but a place and a time,"
156.                 + " medieval Japan on the threshold of becoming a sea power");
157.         shogun.setKeywords(new String[] { "james clavell", "Blackthorne", "Toranaga", "japan" });
158.         jamesClavell.addBook(shogun);
159.         session.save(shogun);
160.
161.         Book taipan = new Book();
162.         taipan.setId(new Long(4));
163.         taipan.setTitle("Taipan");
164.         c.set(1966, 0, 1);
165.         taipan.setPublishDate(c.getTime());
166.         taipan.setSummary("Tai-Pan is chinese for \"supreme leader\". This is the man with real power "
167.                 + "to his hands. And such a Tai-Pan is Dirk Struan who is obsessed by his plan to make Hong Kong "
168.                 + "the \"jewel in the crown of her British Majesty\". In 1841 he achieves his goal but he has many "
169.                 + "enemies who try to destroy his plans. Will they succeed?");
170.         taipan.setKeywords(new String[] { "james clavell", "Dirk Struan", "joss", "hong kong" });
171.         jamesClavell.addBook(taipan);
172.
173.         session.save(taipan);
174.
175.         session.save(jamesClavell);
176.        
177.         tx.commit();
178.         session.close();
179.     }
180. }
分享到:
评论

相关推荐

    mongodb-compass 1.16版本

    总的来说,MongoDB Compass 1.16版本是一个强大的数据库管理和开发工具,通过可视化方式提高了MongoDB的可操作性和易用性,简化了日常的数据库管理任务,同时也增强了数据分析和性能监控能力。无论是初学者还是经验...

    compass2简单例子

    标题 "compass2简单例子" 指向的是一个关于 Compass 的使用教程,Compass 是一个基于 Sass 的 CSS 预处理器。它简化了编写复杂的 CSS3 规则,并提供了易于管理的项目结构。这个简单的例子可能包括如何设置 Compass、...

    mongodb安装包和compass

    Compass是MongoDB的官方图形界面工具,它提供了一个用户友好的界面,用于可视化数据库和集合,帮助开发者和管理员进行数据探索、查询构建、性能分析以及基本的数据库管理。通过Compass,用户可以轻松地浏览和操作...

    compass2.1.4包+所用lucene包+中文分词器

    在“compass2.1.4包”中,包含了 Compass 框架的版本 2.1.4,这个版本可能包含了性能优化、新功能以及对旧版的兼容性改进。 Lucene 是 Apache 软件基金会的一个开源项目,它是一个高性能、全文本搜索库。Lucene ...

    GPS_COMPASS组合变形测量性能分析.pdf

    《GPS/COMPASS组合变形测量性能分析》这篇文章主要探讨了在城市、露天矿区和峡谷等地形复杂区域,如何利用GPS和COMPASS(中国北斗卫星导航系统)的多星座组合来提高变形测量的精度和可靠性。GPS定位系统的性能很大...

    compass完整可用项目

    【compass完整可用项目】是一个基于特定技术栈的软件开发项目,该项目的核心是Compass库,一个与Lucene紧密集成的全文搜索引擎工具。Compass提供了一种简单的方式来在Java应用程序中集成全文搜索功能,使得开发者...

    mongodb-compass-1.17.0-win32-x64 MongoDB可视化工具Compass

    本压缩包文件"mongodb-compass-1.17.0-win32-x64"包含了适用于Windows 32位和64位系统的MongoDB Compass 1.17.0版本。 MongoDB是一种流行的开源、文档型的分布式数据库系统,广泛应用于大数据存储、实时分析、...

    mongodb compass1.15.1官网版 免安装直接使用

    MongoDB Compass 1.15.1是这个系列的一个版本,它无需安装,可以直接运行,这在许多情况下非常便捷,特别是对于那些希望快速试用或在不同环境中使用的用户。 MongoDB是一款开源的文档型数据库,它是NoSQL数据库的...

    compass搜索引擎技术

    Compass搜索引擎技术是一种基于Lucene的全文检索框架,它提供了更高级别的API和集成机制,使得在Java应用程序中实现搜索引擎功能变得更加便捷。Compass的主要目标是将全文索引能力无缝地融入到现有的业务应用程序中...

    java搜索 compass资料

    在下载过程中,建议检查网站上的最新版本信息,以确保使用的Compass版本是最新的或至少是官方推荐的稳定版本。 #### 三、Compass 使用示例 在题目中提供的部分Java代码中,展示了一个名为`ProductInfo`的实体类,...

    Compass全文检索系列之一:Compass入门

    1. **安装与依赖**:将Compass库添加到项目中,根据所使用的ORM框架选择相应的版本。 2. **配置ORM集成**:配置Compass与ORM框架的连接,指定数据源和索引存储位置。 3. **定义映射**:为每个需要索引的实体类定义...

    mongodb-compass-1.25.0-win32-x64_2.zip

    本压缩包"mongodb-compass-1.25.0-win32-x64_2.zip"包含的是适用于Windows 32位和64位系统的MongoDB Compass 1.25.0版本。以下是关于MongoDB Compass和其在MongoDB生态系统中的作用的详细说明: 1. **MongoDB ...

    compass关联查询练习

    这个是compass整合ssh的例子,最重要的一点是一对多的关联这方面,寡人整了一天才把compass关联搞定,网上有关compass的资源太少了,不想让以后的人这么为难,咱就上传个我自己的练习吧,有较为详细的注释,希望能对...

    compass教程.pdf

    COMPASS 教程Pdf COMPASS 是一款专业的油气田设计和生产软件,主要用于油气田的规划、设计和生产过程。下面是 COMPASS 的一些重要知识点: 1. COMPASS WELLPLAN FOR WINDOWS 功能简介:COMPASS 的核心功能包括 ...

    MongoDB compass 1.12.4

    MongoDB compass 1.12.4 下载 MongoDB 图形界面管理工具

    Compass_Setup_2010-06-25_16-11.rar

    本文将围绕“Compass”这一软件工具,深入探讨其在GPS数据处理中的应用及其重要性,同时解析2010年6月25日16时11分版本的Compass_Setup安装包中的核心内容。 Compass是一款专业的GPS数据处理软件,专为用户提供高效...

    compass_使用详解.pdf compass_教程 compass_试用案例

    ### Compass 使用详解 #### 一、Compass 概述 Compass 是一款开源的 Java 库,用于简化 Lucene 的使用。它通过提供类似于 Hibernate 的对象关系映射(ORM)功能,使得开发者能够更加轻松地将 Java 对象映射到 ...

    mongodb compass 图形化管理工具安装包

    mongodb compass 1.13.0版本的安装包,客官根据需求选择下载

    compass annotation关联关系

    Compass 是一个全文搜索引擎库,它是对 Lucene 的封装,为 Java 应用提供了一种简单易用的接口。在 Compass 中,Annotation 是一种元数据注解方式,它允许开发者在对象模型上直接定义搜索映射,使得对象与索引之间的...

Global site tag (gtag.js) - Google Analytics