When creating a layer, Geoserver has the option of calculating bounding boxes from the data. I have only succeeded in doing this when I pass a Geometry type object in my SQL query. How can I define the SRS and bounding box when passing only, lon, lat, elevation, for example? Is this possible or do I have to use Geometry objects?
GeoServer does not recognize tables with x/y columns as being point tables, so yes, you have to build geometries.
Or, you can push for this feature to be implemented: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer