Skip to content

Releases: future-architect/uroborosql

🚀New features and bugfixes release

12 Dec 16:46
Compare
Choose a tag to compare

Source diff: 0.15.2 -> 0.16.0

🎁 New Features

  • #224 I want to select the optimistic locking method

🐛 Bugfixes

  • #218 agent.insert() throws Exception in Oracle
  • #220 When updating using SqlEntityQuery, the snake case cannot be used when specifying a column in the Set clause.
  • #222 ForUpdate is not enabled if SqlEntityQuery#notExists() and SqlEntityQuery#forUpdate() are used together.

🐛Bugfixes release

12 Dec 16:38
Compare
Choose a tag to compare

Source diff: 0.15.1 -> 0.15.2

🐛 Bugfixes

  • #216 I want to get timestamp with time zone (timestamptz) as ZonedDateTime with JDBCDriver of postgresql

🐛Bugfixes release

16 Oct 14:50
Compare
Choose a tag to compare

Source diff: 0.15.0 -> 0.15.1

🐛 Bugfixes

  • #214 API change of AbstractExtractionCondition#where()
    • And changed AbstractExtractionCondition#param() methods to deprecated.

🚀New features and bugfixes release

16 Oct 14:45
Compare
Choose a tag to compare

Source diff: 0.14.0 -> 0.15.0

🎁 New Features

  • #212 Add add SqlAgent#update(Entity.class) and SqlAgent#updates(Stream) and more methods.

    • SqlAgent#update(Entity Object) update to @Version column field.
    • Added the following method to SqlAgent.
method
<E> int update(E entity)
<E> E updateAndReturn(E entity)
<E> E deleteAndReturn(E entity)
<E> Stream<E> insertsAndReturn(Class<E> entityType, Stream<E> entities)
<E> Stream<E> insertsAndReturn(Class<E> entityType, Stream<E> entities, InsertsType insertsType)
<E> Stream<E> insertsAndReturn(Class<E> entityType, Stream<E> entities, InsertsCondition<? super E> condition)
<E> Stream<E> insertsAndReturn(Class<E> entityType, Stream<E> entities, InsertsCondition<? super E> condition, InsertsType insertsType);
<E> Stream<E> insertsAndReturn(Stream<E> entities)
<E> Stream<E> insertsAndReturn(Stream<E> entities, InsertsType insertsType)
<E> Stream<E> insertsAndReturn(Stream<E> entities, InsertsCondition<? super E> condition)
<E> Stream<E> insertsAndReturn(Stream<E> entities, InsertsCondition<? super E> condition, InsertsType insertsType);
<E> int updates(Stream<E> entities)
<E> int updates(Stream<E> entities, UpdatesCondition<? super E> condition)
<E> int updates(Class<E> entityType, Stream<E> entities)
<E> int updates(Class<E> entityType, Stream<E> entities, UpdatesCondition<? super E> condition)
<E> Stream<E> updatesAndReturn(Stream<E> entities)
<E> Stream<E> updatesAndReturn(Stream<E> entities, UpdatesCondition<? super E> condition)
<E> Stream<E> updatesAndReturn(Class<E> entityType, Stream<E> entities)
<E> Stream<E> updatesAndReturn(Class<E> entityType, Stream<E> entities, UpdatesCondition<? super E> condition)

⚠️ Breaking Changes!!

Changed the behavior of AbstractExtractionCondition#param().
Previously, where clause was generated even when bind parameter was set with SqlEntityQuery#param(),
it has been modified to use SqlEntityQuery#equal() from v0.15.0.

🌟 Enhancements

  • #208 SqlFluent#outParam() and inOutParam() move to Procedure.

⚙️ Chores

  • #201 Disassemble SqlAgentTest for each test method

🚀New features and bugfixes release

16 Sep 16:03
Compare
Choose a tag to compare

Source diff: 0.13.0 -> 0.14.0

🎁 New Features

  • #178 Support pessimistic locking with SqlEntityQuery.
  • #198 Add SqlQuery#one, SqlQuery#findOne.
  • #203 Added forceUpdateWithinTransacation option to SqlAgentFactory.

🌟 Enhancements

  • #194 Enable to set initial value of ResultSetType and ResultSetConcurrency when generating SqlContext with SqlContextFactory
  • #196 Change SqlQuery#paramList() API.
  • #204 Enable to specify a replacement string for the LIKE escape character.

🐛 Bugfixes

  • #191 IllegalArgumentException occurs when using TIMESTAMP WITH TIME ZONE type column in Oracle.
  • #197 AbstractAgent#finalize is executed at an unexpected timing.

🚀New features and bugfixes release

26 Apr 05:19
Compare
Choose a tag to compare

Source diff: 0.12.1 -> 0.13.0

🎁 New Features

  • #162 Update jLine library to jLine 3 and change jLine library to Optional.

🐛 Bugfixes

  • #139 Ghosting process may remain when using NioSqlManager.
  • #182 I want to compare with SQLState in the retry setting of SQL.

🐛Bugfixes release

11 Apr 16:40
Compare
Choose a tag to compare

Source diff: 0.12.0 -> 0.12.1

🐛 Bugfixes

  • #180 If the column name of the field for which @Id is specified is case-sensitive, an error occurs.

🚀New features and Enhancements release

08 Apr 23:45
Compare
Choose a tag to compare

Source diff: 0.11.1 -> 0.12.0

🎁 New Features

  • #174 Implemented processing in case of GenerationType.IDENTITY and GenerationType.SEQUENCE by insert() method.

🌟 Enhancements

  • #170 add startsWith() / contains() / endsWith() method to StringFunction class
  • #176 Add count() / sum() / min() / max() / exists() / notExists() to SqlEntityQuery

🐛 Bugfixes

  • #168 When SqlAgent#inserts is used, it will become Parameter Not Found if there is a Optional#empty value.
  • #169 Dialect#escapeLikePattern throw NullPointerException when parameter is null

🐛Bugfixes release

12 Mar 07:58
Compare
Choose a tag to compare

Source diff: 0.11.0 -> 0.11.1

🌟 Enhancements

  • #167 Add count() method to SqlEntityQuery.

🐛 Bugfixes

  • #166 Fixed bug that SQL loading was not performed correctly when loadPath specified two or more hierarchical paths

🚀New features and Enhancements release

11 Mar 01:54
Compare
Choose a tag to compare

Source diff: 0.10.1 -> 0.11.0

🎁 New Features

  • #152 Added extraction condition methods to SqlEntityQuery
  • #161 Changed to supports LimitClause using Oracle12

Dao Interface add extraction condition methods.

examples:

try (SqlAgent agent = config.agent()) {
  // where id = 1001
  agent.query(Department.class).equal("id", 1001).collect();

  // where id in (1001, 1002)
  agent.query(Department.class).in("id", 1001, 1002).collect();

  // where dept_name like '%HR%'
  agent.query(Department.class).contains("deptName", "HR").collect();

  // order by dept_name desc, id asc
  agent.query(Department.class).desc("deptName").asc("id").collect();

  // limit and offset ( When the Database supports limit and offset)
  agent.query(Department.class).offset(3).limit(5).collect();
}

For details of the added methods, please see #152

🌟 Enhancements

  • #160 Added two SqlAgent#delete overloads
    • int delete(Class entityType, Object... keys) ... Delete using the given primary keys
    • SqlEntityDelete delete(Class entityType) ... Deletes using the parameter given to SqlEntityDelete
  • #163 Changed to MapResultSetConverter to get the values using PropertyMapperManager.

⚠️ Breaking Changes!!

  • #163 Changed to MapResultSetConverter to get the values using PropertyMapperManager.
    The constructor of MapResultSetConverter has changed.

⚙️ Chores

  • Changed the version described in README.md to v0.11.0