Tag: insert

在使用JPA持久化时是否需要设置实体类的所有字段?

我试图插入一个有3列的表。这个表的主键是许多表的外键有很多一对多和多对多的关系。试图插入我设置所有这些列,但有一些其他设置我不使用的方法。 当我做em.persist到这个class级时,它会抛出nullpointerexception。 知道为什么会这样做吗? 我还必须设置其他class级成员吗? 实体类如下 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package objectRelationalMapping; import java.io.Serializable; import java.util.List; import javax.persistence.*; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; /** * * @author jai */ @Entity @Table(name = “entitymain”) @XmlRootElement @NamedQueries({ @NamedQuery(name = “Entitymain.findAll”, […]

Java:如何将一个hashmap插入MongoDB?

我有一个hashmap,我试图插入到MongoDB(版本3.6)。 我知道insertMany()方法 – 它只接受文档列表。 我无法创建列表,因为我的数据中有重复项,我想摆脱它们。 这就是我创建hashmap的原因。 有什么方法可以将hashmap插入Mongodb吗? 我找到了一个链接https://www.mkyong.com/mongodb/java-mongodb-insert-a-document/ ,其中显示了如何将地图插入Mongodb collection.insert(new BasicDBObject(documentMap)); 但是在新的mongoDB中不推荐使用BasicDBObject。 我的hashmap看起来像这样: -1322771423 [ecn, KeywordMatch, http://insidedell.com/ecn, ECN] -2144339676 [product marketing, PhraseMatch, http://dellemc.com/product, Products] -214203024 [jive, ExactMatch, http://test.com/jive, Jive test] -493382214 [search, ExactMatch, http://example.com, Search Consultancy] 基本上我希望我的MongoDB集合看起来像这样: new_collection { _id: -493382214 query: ExactMatch, link: http://example.com, content: Search Consultancy } { _id: … } 编辑: 我的问题的背景 […]

在插入derbyDB varchar字段之前,搜索“特殊”字符的java字符串

我试图从MS Access转换为DerbyDB。 但是,某些varchar字段具有“特殊”字符,例如换行符,制表符,百分号,外来字符等。 我创建了一个快速方法…… public String charCheck(String s) { errLog.add(1, “converting string from ” + s); s.replaceAll(“‘”, “””);//an apostrophe is escaped with an apostrophy in Derby… s.replaceAll(“%”, “\\%”);//a percent sign s.replaceAll(“\\s+n”, ” “);//whitespace characters (newlines and tabs etc) s.replaceAll(“/”, “\\/”);//the ‘divide’ \ character, s.replaceAll(“<", "\\”, “\\>”);//mathematical symbol greater than errLog.add(1, “to ” + s); return […]

插入后的Java JDBC检索ID

我使用触发器设置所有表的PK列值,所以我不对Java中的ID做任何操作,但我需要插入后的ID。 我怎样才能获得身份证? stat.execute(“INSERT INTO TPROJECT_PROCESS_GROUP(NPROJECT_ID,VDESCRIPTION) ” + “VALUES(” + “‘” + projectID + “‘,” + “‘” + description + “‘” + “”); 编辑:嗨再次我读了这个问题,现在我得到了一个例外,比如’不支持的操作’(我翻译自我的母语,确切的英文forms可能会有所不同)。 我想这是关于oracle对GetGeneratedKeys的支持? 你对此有所了解吗? 解决方案:正如关于callablestatements的书中所提到的,该语句可用于执行存储过程和函数。 与PreparedStatement不同,大多数数据库不会对调用执行任何准备,因为它是一个如此简单的命令。 CallableStatement实例可用于返回存储过程或函数的对象,更准确地返回。 OracleConnection conn = null; //OraclePreparedStatement pstat = null; OracleCallableStatement cstat = null; String sql = “BEGIN INSERT INTO TPROJECT P (VPROJECT_TITLE,VPROJECT_DESC) VALUES(?,?) RETURNING P.NPROJECT_ID INTO ?; END;”; […]

Hibernate – 插入大blob的内存不足

在POJO我有: public void setBlob(InputStream in, Long l) { this.blob = Hibernate.getLobCreator(SessionFactoryHelper.sessionFactory.getCurrentSession()).createBlob(in, l); } 我在配置中使hibernate.jdbc.use_streams_for_binary为true,但是它真的改变了什么吗? 在保存实体时,在session.flush()上我得到: org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release INFO: HHH000010: On release of batch it still contained JDBC statements Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap space Heap dump file created [46180174 bytes in 1.662 secs] at java.util.Arrays.copyOf(Arrays.java:2271) at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:113) at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:140) at org.hibernate.type.descriptor.java.DataHelper.extractBytes(DataHelper.java:171) […]

JDBC插入错误

我试图用jdbc将一些数据插入我的数据库。 我正在使用正确的表,数据库名称和参数。 一切都经过检查。 码 public static void main(String[] args) throws IOException/*, ClassNotFoundException, SQLException*/ { DataInputStream d = new DataInputStream(System.in); System.out.println(“Enter employee ID : “); @SuppressWarnings(“deprecation”) int empid = Integer.parseInt(d.readLine()); System.out.println(“Enter employee name : “); @SuppressWarnings(“deprecation”) String empname = d.readLine(); System.out.println(“Enter employee ID : “); @SuppressWarnings(“deprecation”) double empsalary = Double.parseDouble(d.readLine()); try { Class.forName(“com.mysql.jdbc.Driver”); } catch (ClassNotFoundException […]

即使没有插入新行,为什么executeUpdate返回1?

这是我非常简单的表格(Postgres): CREATE TABLE IF NOT EXISTS PERFORMANCE.TEST ( test text NOT NULL UNIQUE ); 如果我尝试使用下面的命令从数据库插入一个字符串,一切都按预期工作,毫不奇怪,数据库中出现一个新行。 insert into performance.test (test) values (‘abbbbaw’); 但是,如果我想通过JDBC插入String,则不会插入任何内容,尽管preparedStatement.executeUpdate()始终返回1。 下面是我应该工作的方法,但事实并非如此。 请告诉我,如果我遗漏了一些明显的东西。 我想补充一点,我从来没有得到任何SQLException。 private void storePerformance() { Connection conn= initializePerformanceConnection(); if (conn!= null) { PreparedStatement insertPS = null; try { insertPS = conn.prepareStatement(“insert into performance.test (test) values (?)”); insertPS.setString(1, queryVar); int i = […]

如何在JTextPane中的组件周围包装文本?

我不明白JTextPane中的包装行为。 如果我插入一个短文本,然后是一个JComponent,然后再插入短文本,我可以在一行中看到插入的东西,如果框架足够大的话。 但是如果文本更长,所以需要几行,组件总是放在一个新行中。 我已经认识到,在将组件插入JTextPane后,其文本会变长一个字符。 因此,如果一个组件被JTextPane视为一个字符,为什么它不像一个字符呢? 可能它取决于Java版本? 我使用Java(TM)SE运行时环境(build 1.7.0-b147) 下面是我的代码(使用shortText / longText实例化变量currentText以重现上述行为): import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextPane; import javax.swing.text.BadLocationException; import javax.swing.text.SimpleAttributeSet; public class Test { public static void main(String[] args) { JFrame frame = new JFrame(); JTextPane textPane = new JTextPane(); textPane.setContentType(“text/html”); String shortText = “one two three four five six seven”; String […]

使用LinkedHashMap实现LRU缓存

我试图使用LinkedHashMap实现LRU缓存。 在LinkedHashMap( http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html )的文档中,它说: 请注意,如果将键重新插入地图,则不会影响插入顺序。 但是当我做下面的提示 public class LRUCache extends LinkedHashMap { private int size; public static void main(String[] args) { LRUCache cache = LRUCache.newInstance(2); cache.put(1, 1); cache.put(2, 2); cache.put(1, 1); cache.put(3, 3); System.out.println(cache); } private LRUCache(int size) { super(size, 0.75f, true); this.size = size; } @Override protected boolean removeEldestEntry(Map.Entry eldest) { return size() > […]

Java:如何将CLOB插入oracle数据库

我需要将XML文件内容写入oracle数据库,其中列是CLOB数据类型。 我该怎么做?