> For the complete documentation index, see [llms.txt](https://coldbox-orm.ortusbooks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://coldbox-orm.ortusbooks.com/v5.x/base-orm-service/automatic-java-types.md).

# Automatic Java Types

Automatic Java Types - Value conversion is automatic in cborm 6 through bx-orm.

In cborm 6 you no longer need to cast values to Java types. The `bx-orm` module converts every value you pass (ids, HQL parameters, dynamic finder arguments, criteria values) to the type of the property it is compared with, so you can pass plain BoxLang values:

```javascript
// No javaCast() needed: bx-orm converts "123" to the id type
var user = ormService.get( "User", "123" );

// Criteria values are converted too
var users = ormService
    .newCriteria( "User" )
    .isEq( "id", rc.id )
    .isGt( "lastLogin", "2024-01-01" )
    .list();
```

{% hint style="warning" %}
**Changed in cborm 6**: `idCast()` and `autoCast()` (and their `convertIdValueToJavaType()` / `convertValueToJavaType()` aliases) are deprecated and no longer cast anything. They are kept only for backwards compatibility:

* [`idCast( entity, id )`](/v5.x/base-orm-service/service-methods/utility-methods/idcast.md) normalizes an id, a list of ids or an array of ids into an array of ids.
* [`autoCast( entity, propertyName, value )`](/v5.x/base-orm-service/service-methods/utility-methods/autocast.md) returns the value as is.

You can safely remove these calls from your code. Because `idCast()` now returns an array, do not wrap a single id with it (for example `c.isEq( "id", ormService.idCast( "User", id ) )`): pass the id directly. The criteria builder returned by `newCriteria()` no longer has `idCast()` or `autoCast()` methods.
{% endhint %}

## `nullValue()`

The services still give you a [`nullValue()`](/v5.x/base-orm-service/service-methods/utility-methods/nullvalue.md) helper that produces a `null` you can use anywhere you like.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://coldbox-orm.ortusbooks.com/v5.x/base-orm-service/automatic-java-types.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
